To author: please remember on your own part that CPANRatings asks:
"If you are commenting on your own module, please don't give it any ratings but just leave the review as a comment."
You seem to rate your own modules (HDB, Object::MultiType) rather highly.
Why this module is trying to fix a problem worthy of fixing, it's not the first to do so. Nor is it the second, third, or forth. More importantly, this module should not be a top level namespace.