text: /* @flow */
  
  /**
   * Apply a function to all comments within a hierarchy: this iterates
   * through children in the 'members' property.
   *
   * @param {Array<Object>} comments an array of nested comments
   * @param {Function} fn a walker function
   * @param {Object} [options] options passed through to walker function
   * @returns {Array<Object>} comments
   */
  export function walk(comments: Array<Comment>, fn: Function, options: ?Object) {
    comments.forEach(comment => {
      fn(comment, options);
      for (const scope in comment.members) {
        walk(comment.members[scope], fn, options);
      }
    });
    return comments;
  }
  