We have:
Character.verify_from() that raises cryptography.exceptions.InvalidSignature
Learner.verify_from() that raises Learner.InvalidSignature
In the context of an object that is both a Character and a Learner, it seems extremely confusing.
Originally posted by @cygnusv in #2177 (comment)