Raises realistic errors if verified methods are called with incorrect arity

I'm hoping this one is a tad cleaner. I did do some redesigning by introducing `MethodReference`, and I'm interested in feedback there for sure.

[Closes #393]

/cc: @samphippen  @xshay