Added X::TypeCheck::Argument and means for the Optimizer to throw typed exceptions.
Correct private method exception construction.

Also remove "not sure how to get it" note; you can get it with:
    class A { trusts GLOBAL; }; A!A::nope();
But only with --optimize=3 at present.
Replace comment with better explanation.