fixed some odd generics related compiling issue