Type safety

Adds several missing generic types