The purpose of most algorithms (methods) is to compute a result and return it.
If we return the wrong object (and especially an unexpected type) the object user (message sender) won't be able to use the result (and all of the algorithm work will be for nothing).
If the message sender expects that we return "Foo" and we return an integer, they most certainly will throw a run time exception (e.g. a major bug occurs).
For the previous lesson learned (reuse code) we need to know what other methods and objects are within our context (scope).
In some cases, the context is simple -- e.g. the challenge for this chapter has a context that is MyArray. So we want to look often at its method summary (protocol).
If we try to use methods not in our context, that would be like visiting McDonalds and asking for a Pizza Hut pizza.