MooseX::Types::Set::Object provides Moose type constraints (see Moose::Util::TypeConstraints, MooseX::Types).