The purpose of this is to make creating a portable validator with Data::Rx as painless as possible, while still permitting you to keep the specification itself separate from the actual implementation....