experiments with generics