Ian Bicking: the old part of his blog

Comment

Occasionally you find you need to change the declaration of a function to add a small amount of additional functionality which is only needed by a few callers of the function. Default values can allow you to make the change without having to modify all callers *at the same time*. This is especially important if the functions you need to change are part of a published interface.
Comment on A Python Poka-Yoke