The core relation composition operator reminds me of Alloy's dot-join operator [1]. Wondering if anyone can comment on the differences, theoretical or practical?
[1]: https://practicalalloy.github.io/chapters/structural-topics/...
[1]: https://practicalalloy.github.io/chapters/structural-topics/...