Gabriel and grable: I'm already using null and an IF statement in that manner. There's a slight hit in performance and while it's not that big of a hit, I think being able to put self as a default would speed it up and be worth it.
Not that big of a hit? I tried running the function with and without an if 5 milliion times and they're both showing identical times ( to the nearest millisecond, which is all I can be bothered to code ) so I'm struggling to see the hit myself.