docs: public void mergeWith(ReturnPathType fact) {
          if (fact.isTop()) {
              // other fact is top: no change to this one
              return;
          } else if (this.isTop()) {
              // this fact is top: copy other fact
              this.copyFrom(fact);
          } else {
              // neither fact is top: as long as one of the two
              // facts represents a (possible) normal return, then the result
              // is a possible normal return
              if (fact.type == CAN_RETURN_NORMALLY) {
                  this.type = CAN_RETURN_NORMALLY;
              }
          }
      }