[2.0] Python default arguments are hard

Turns out we were doing this wrong. Kindly pointed out by @redspider. Bizarrely, we're half doing this right, but just didn't fix the whole thing up. This should. =D