Hi Fredrick,

I haven't looked into this much, but I guess you might be interested in knowing about this if you don't already (though I'm not sure how much benefit it would have to your current areas of research around data models and such): https://hackage.haskell.org/package/CPL

Also, since that is in haskell and you are doing some stuff on the JVM, I thought I'd mention Eta (https://eta-lang.org) which seems to be picking up steam lately.