From the spec port section 2.9.13
(TODO: improve this explanation. It probably makes more sense to instead describe non-incremental join, and then show how bilinearity leads to this incremental version)
...and...
TODO: Describe the better implementation used in my prototype
From the spec port section 2.9.13
...and...