Playing with memoization and generics