for a description of some limitations of restricted-hash-based fields and some strong anti-compile-time-checking sentiment on the part of some (including rejection of a patch to put the checking back in bleadperl).
, is unfortunately IMO uncommented to the point of unmaintainability.