That sounds interesting. I just checked out the examples in the Haskell Janus implementation: https://github.com/mbudde/jana