new support for immutable types