Moving towards a pure API via copying. This eliminates most of the need to stay in IO but introduces a lot of copying to achieve it.