docs: public Atom rewriteWithTypeVariable(Atom parentAtom) {
          if (parentAtom.getPredicateVariable().isReturned()
                  && !this.getPredicateVariable().isReturned()
                  && this.getClass() == parentAtom.getClass()) {
              return rewriteWithTypeVariable();
          }
          return this;
      }