I think of the following definition: function foo($bar = NULL)
To really be two definitions with method overloading: > function foo() function foo($bar) Allowing an inheritor/implementor to choose to not implement the second signature does not seem logical at all when you think of them this way. I'm against this this proposal.