docs: function formatAst(node, context, recur, options) {
      (0, _invariant2['default'])(
      node, '\'node\' argument is required. value: ' + 
      JSON.stringify(node));
  
  
      // find the node's namespace based on its type
      var nodeNamespace = NODE_TYPES[node.type];
  
      // recur function that will hold context and itself in a closule.
      // only if it's not defined (first call)
      recur || (recur = function (nextNode, nextOptions) {
          // console.log('next node: ', nextNode);
          formatAst(nextNode, context, recur, nextOptions);});
  
  
      (0, _invariant2['default'])(nodeNamespace, 'unknown node type: ' + node.type);
  
      nodeNamespace.format(node, context, recur, options);}