Layered API design is a great way to resolve ergonomics/performance tradeoffs.