This started because it was possible, not because it was very useful. The overhead of using the full function API, is lessened by the function API helpers, and the upcoming improvements in the function API. It's much easier to have one fewer API's to manage and so on. It's also a stark reminder of how weak tools like "puppet" are which only really have data collection systems that don't take arguments.