Some fixes, but I am now forming a reference to void... I'll have
to do some smart template sorcery I already have an idea of.