Add join calculus (probably bad implementation; I barely understand it)