Sorry, was unclear when I said it raised `InternalError`. I meant that unless we add `InvalidSignature` to that method it will do that, and I don't want to raise `InvalidSignature` there. I don't think that's the right place for it. It's much easier to read inline IMO.