Why does sample_posterior_predictive use only one chain?

Example:

import pymc3 as pm
import arviz as az

with pm.Model() as model:
    foo = pm.Beta('foo', 1.3, 1.4)
    bar = pm.Beta('bar', 1 + foo, 2 - foo, shape=50)

    trace = pm.sample(draws=600, chains=2, tune=500, return_inferencedata=True)
    
    trace_ppc = pm.fast_sample_posterior_predictive(
        trace, var_names=['bar'])
    trace_aux = az.from_pymc3(posterior_predictive=trace_ppc)
    trace.extend(trace_aux)

with model:
    summary = pm.summary(trace, group='posterior_predictive', var_names=['bar'])
summary

Results:

Another example, with keep_size=True:

with pm.Model() as model2:
    foo = pm.Beta('foo', 1.3, 1.4)
    bar = pm.Beta('bar', 1 + foo, 2 - foo, shape=50)

    trace = pm.sample(draws=600, chains=2, tune=500, return_inferencedata=True)
    
    trace_ppc = pm.fast_sample_posterior_predictive(
        trace, var_names=['bar'], keep_size=True)
    trace_aux = az.from_pymc3(posterior_predictive=trace_ppc)
    trace.extend(trace_aux)

bar in the posterior predictive has a bogus shape:

There appear to be 30,000 error messages:

with model2:
    summary = pm.summary(trace, group='posterior_predictive', var_names=['bar'])
summary

etc.