If you rewrite the transducer as a function that outputs a list, stateful transducers get a lot easier to write.

See `ttake` here: https://news.ycombinator.com/item?id=45859831