Added generic instances to data types

Hi,
Simply add generic instances to data types, so that they can be used with other generics supporting packages.

Thanks!