whole_func_string: function filter(predicate) {
      return function* (iterable) {
          let index = 0;
          for (const value of iterable) {
              if (predicate(value, index)) {
                  yield value;
              }
              index = index + 1;
          }
      };
  }
func_code_string: function filter(predicate) {
      return function* (iterable) {
          let index = 0;
          for (const value of iterable) {
              if (predicate(value, index)) {
                  yield value;
              }
              index = index + 1;
          }
      };
  }
func_documentation_string: Yield only the items in an iterable sequence that match the predicate