type restrictions
Merge origin/immutable1 into immutable1