Theraze
Active member
If people can be surprised by what it does (some are surprised it's not an error, some are surprised it waits for different amount of time than requested), it's better when they are force to write non-surprising code instead.
That sounds like an argument to remove the two parameter buy. And yet, it remains, and people with sloppy code can be surprised by what it does.
Just because the results of a function might not be the one that you expect if you don't consider it thoroughly doesn't mean that it should error.