DfaMemoryStateImpl merge(DfaMemoryStateImpl left, DfaMemoryStateImpl right) {
      if (myMaybeThisSuper) return left;
      if (myMaybeThatSuper) return right;
      assert mySingleDiff != null;
      return mySingleDiff.apply(left, right);
    }
DfaMemoryStateImpl merge(DfaMemoryStateImpl left, DfaMemoryStateImpl right)