Attempt n+1 at getting generics working... Still work to do.