I just noticed this now, why did you change this? We use the `AbstractFunction` exception to identify things that a class should implement but doesn't. Switching overloading `method_missing` is a neat way to dry it up but would defeat the purpose. It instead says that this object should respond to all messages but they are abstract ;)