Embedded the generic function binding code within Functor and shifted the template stuff around. Managed to reduce code bloat by 0.2mb x.x