I'm not sure if everyone has already noticed, that there is support for "fused types" in the recently released Cython 0.17 (http://docs.cython.org/src/userguide/fusedtypes.html).