code: public Optional<ImmutableSubstitution<NonFunctionalTerm>> computeMGUS2(ImmutableSubstitution<NonFunctionalTerm> s1,
                                                                             ImmutableSubstitution<NonFunctionalTerm> s2) {
          return computeMGUS(s1,s2)
                  .map(u -> (ImmutableSubstitution<NonFunctionalTerm>)(ImmutableSubstitution<?>)u);
      }
docs: TODO: make it replace computeMGUS()