
Moo attributes (like moose) have an 'isa' property. moox::types::mooselike(::base) provides some basic types for this property. one can import all types with the ':all' tag or import a list of types.
these types provide a check that the contact attribute is a hash reference, that the guest_list is an array reference, and that the records are an array of hash references.