I may not be understanding what you are talking about here, but what does this provide over Attribute::Types, Scalar::Properties and the interesting module Hook::WrapSub that could be part of a tool to actually check function args and returns at run time?