carriagereturn

design

Think like the user:

It takes a lot more work to understand the other person than it takes to understand you.

You might say, "I have these two things together so I will let the user (the person using the API) manipulate them." But that user didn't say, "Hey, I want to manipulate these two data structures!" Often the user is saying, "I want to get this result." If users could get a result without manipulating the data structures, they'd be happy as clams.
If you can make it more natural for them to get that result, the fact that you have to go through 10 times as much work to access those data structures is good; it means you are providing value. Many people are much more likely to think about what they have in hand and what they can do. They think from the implementation out, instead of thinking from the user in.

Inspiration: Ken Arnold