Type::Tiny не создаёт типы, он проверяет значение на соответствие определённым правилам. Примерно то же самое делает Params::Validate, или его брат Params::ValidationCompiler. Даже я запилил что-то похожее - Validate::Simple называется.
Type::Tiny можно встраивать в isa
в Moo(se)
, но он не описывает типы. Типы описывают классы.