Generics

A handful of generics polish. The remaining issues are `Col` related (which I don't even know is possible), and that the IO package is incomplete.