Added X::TypeCheck::Argument and means for the Optimizer to throw typed exceptions.