Rather than `Fails loudly` please say, `Raises [errortype] if called...`. Might be worth actually raising a specific error that's clear (eg `ValueError("unmasked_name called on {} problem type".format(problem_type))`) as opposed to just letting a generic hard-to-debug `KeyError` float up.