code: FunctionList filter(Filter f) {
          List<Function> r = new ArrayList<Function>();
          for (Function m : functions)
              if (f.keep(m))
                  r.add(m);
          return new FunctionList(r.toArray(new Function[0]));
      }
docs: /* internal