code: def with_forward_decls(suspension):
      
  
      @Parser
      def f(tokens, s):
          return suspension().run(tokens, s)
  
      return f
docs: (None -> Parser(a, b)) -> Parser(a, b)
  
      Returns a parser that computes itself lazily as a result of the suspension
      provided. It is needed when some parsers contain forward references to
      parsers defined later and such references are cyclic. See examples for more
      details.