added class support for immutable type parameters