Listening to Alex's answers on spec2 on the Clojure Stream on modeling relationships between functions' inputs and outputs, have you considered using a relational language? E.g. datalog?
escherize 2023-01-05T00:13:00.146509Z
First I heard of it, do you have a link @ben.sless?