Attribute (created_time) does not pass the type constraint because: Validation failed for 'DateTime' with value undef #### class_type 'DateTime'; subtype 'My::Model::Support::Ticket::Str' => as 'Str'; subtype 'My::Model::Support::Ticket::Int' => as 'Int'; coerce 'DateTime', from 'My::Model::Support::Ticket::Str', via { DateTime::Format::DateParse->parse_datetime($_) }; coerce 'DateTime', from 'My::Model::Support::Ticket::Int', via { DateTime->from_epoch( epoch => $_ ) }; ... has created_time => ( is => 'rw', isa => 'DateTime', required => 0, coerce => 1, ); #### use MooseX::UndefTolerant::Attribute; ... has created_time => ( traits => [qw(MooseX::UndefTolerant::Attribute)], #here is => 'rw', isa => 'DateTime', required => 0, coerce => 1, ); #### "exception" : "Type of argument to keys on reference must be unblessed hashref or arrayref at /My/Model/Support/Ticket