no one talks about how Python's mutable default arguments are a leaky abstraction waiting to happen