What is the purpose of the ''self'' parameter? Why is it needed?
For a language-agnostic consideration of the design decision, see What is the advantage of having this/self pointer mandatory explicit?. To close debugging questions where OP omitted a self