This new module exposes type constraints required by some hash algorithms and provides functions to check whether the constraints are satisfied with runtime values. Resolves #256.