Add type requirements to immutable