Type::TinyX::Facets make it easy to create parameterized types with facets.

Type::Tiny allows definition of types which can accept parameters:
    use Types::Standard -types;
    my $t1 = Array[Int];
    my $t2 = Tuple[Int, HashRef];

This defines $t1 as an array of integers. and $t2 as a tuple of two elements, an
integer and a hash.

Parameters are passed as a list to the parameterized constraint generation
machinery, and there is great freedom in how they may be interpreted.

This module makes it easy to create a parameterized type which takes name -
value pairs or,facets. (The terminology is taken from Types::XSD::Lite, to which
this module owes its existence.)
