Added first iteration of general support for generic types.