If it were a templating module, I would say no. This area is somewhat less flooded, so the barrier to entry shouldn't be as high. However, I would urge you to make it clear why someone would choose this module over the established standard, Params::Validate. I don't see much difference here beyond syntax, and frankly, your syntax is pretty bizarre by comparison to that module's simple data structure spec. Is it really faster than Params::ValidateXS?