It seems that in the Moose terminology a Type is just a constraint with a name. This is different from other languages where the type of a value does not change in time or in relation to the whole system. You can copy the value and be sure that the copy has the same type you can wait and check the value after some time and it's type would not change, but if a value type is defined by it passing a constraint - then these invariants do not hold. For example think about a constraint that checks if a date is in the past.
This is not to criticise this - I understand that it is just a practical solution - I just want to know if there is a consensus that it is OK to write Moose types like DateInThePast. Zbigniew Lukasiak http://brudnopis.blogspot.com/ http://perlalchemy.blogspot.com/
