Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.