Code is documentation and when you see a function declaration the parameters help you understand what the function does. If you use an object you have to either rely on an external source (code documentation) that hopefully is up to date or read the implementation of the function. Your approach only helps a little bit when writing code since you don't have to pay attention to the order of the parameters but you are optimizing the less common case which is writing code. The code has to be optimized for reading and understanding. Code is write once / read many. 80% of them time is spent reading and foraging information before doing any modifications. This is where having explicit parameters instead of an object helps.