All the basic generics implemented (#96)