Provide apply method for CollectionType

Also adds CollectionType.hashCode and CypherType.mergeUpWith