Added some tpe checking for methods, methods are now checked to
see that the caller is an actual object as well as the arguments being
type checked