Exchanges via private email with GStreamer folk and on the GStreamer developer list are rapidly leading me to the conclusion that GStreamerMM has the wrong approach and that reflecting the C API of handling of plugins with no subtypes of Bin and Element is a better way forward. This means more checking at runtime, but that is the price to pay for a dynamic plugin based system.
The question is how best to present this in D. There need be no automatic generation, it can be hand coded, since it is very small and doesn't change that much.