Hear, hear. A general programming principle is that interfaces should be simple if possible. Context makes all interfaces more complex. Furthermore I find that my decisions about context are often the part of my interface that ages least well.
For those who argue about built-ins, there is the concept of amortized complexity. You learn a built-in then get to use it day after day for a long time. When you amortize the cost of learning it over the use you get, a lot of complexity can be justified for minor convenience. But little user code gets amortized that much, making it harder to justify any complexity there.