@leithaus why is equal tested both ways? Did you mean to write subset or something? else if ((ProcessSet.equal ipSet gpSet) || (ProcessSet.equal gpSet ipSet)) https://github.com/leithaus/rhocaml/blob/master/mc.ml#L127 I transcribed it somewhat literally: else if ((ipSet == gpSet) || (gpSet == ipSet)) ///@@@@?@?@?@? https://github.com/rchain-community/behavr/blob/master/src/main/scala/rho/Model.scala#L125