• Yeah, ergonomics is important. For what it’s worth, it should be easy to extend the linked recipe to add annotations to logic variables, such that we get a list of annotations upon (dis)unification; this is like turning the logic monad into a union-find/disjoint-set monad. I haven’t seen anybody actually do this, though.


    score 3 · canonical