Question about baking textures with alpha in Cycles

Blender Cycles does not seem to be able to bake textures with any alpha in them whatsoever (unless texture area is unmapped).

I search in the Bug Tracker and find this

It seems any alpha baked in Cycles is pegged to 1.0

Is this expected behavior or have I missed something somewhere?

I’ve tried both PNG and TGA, both with RGBA.
Render -> Film is set to Transparent, so that the World Background is transparent.

My test case is a leaf texture on a flat plane, with nodes like so:

I’ve even tried it with a texture that is completely transparent (it comes out a solid sheet of black).

I am interested in an answer for this as well! Baking alpha in cycles is very useful for baking procedural animated effects (with open shading language) into textures.

While things are shuffled around some, nothing seems much changed compared to what was said in mentioned thread:

        /* write output */
        float output_fac = is_aa_pass(type)? 1.0f/num_samples: 1.0f;

        if(sample == 0)
                output[i] = make_float4(out.x, out.y, out.z, 1.0f) * output_fac;
                output[i] += make_float4(out.x, out.y, out.z, 1.0f) * output_fac;