Although pointer manipulations are used as a primary motivating example, at heart the paper is really about “twisted functors”, a class of applicative functors which arise as a natural generalization of the semi-direct product of two monoids where one acts on the other. It’s a really cute idea1, one of those ideas which seems “obvious” in retrospect, but really hadn’t been explored before.
We give some examples of applications in the paper but I’m quite certain there are many other examples of applications out there. If you find any, let us know!
I can say that since it wasn’t actually my idea!↩