code: public FunctionList union(FunctionList that) {
          Set<Function> combined = new LinkedHashSet<Function>();
          combined.addAll(Arrays.asList(this.functions));
          combined.addAll(Arrays.asList(that.functions));
          return new FunctionList(combined);
      }
docs: Compute set unions of two lists.