adding some unit tests and such
fun generics test