Perhaps conditional compilation, where the type of _type can be coerced at compile time by a compiler directive, as in

#if TYPE == f
/* set it to float */
...
#endif