These are immutable type-checking hash objects, essentially a combination of
List::Objects::WithUtils::Hash::Typed and List::Objects::WithUtils::Hash::Immutable.
Type-checking is performed when the object is created; attempts to modify the object will throw an
exception.
This class consumes the following roles, which contain most of the relevant documentation:
List::Objects::WithUtils::Role::Hash
List::Objects::WithUtils::Role::Hash::Typed
List::Objects::WithUtils::Role::Hash::Immutable
immhash_of
Creates a new immutable typed hash object.