def parse_nl
      s0 = @current_pos
      s2 = parse_newline
      if s2 != :failed
        s1 = []
        while s2 != :failed
          s1 << s2
          s2 = parse_newline
        end
      else
        s1 = :failed
      end
      if s1 != :failed
        s2 = []
        s3 = parse_skipline
        while s3 != :failed
          s2 << s3
          s3 = parse_skipline
        end
        [s1, s2]
      else
        @current_pos = s0
        :failed
      end
    end
def parse_nl
      s0 = @current_pos
      s2 = parse_newline
      if s2 != :failed
        s1 = []
        while s2 != :failed
          s1 << s2
          s2 = parse_newline
        end
      else
        s1 = :failed
      end
      if s1 != :failed
        s2 = []
        s3 = parse_skipline
        while s3 != :failed
          s2 << s3
          s3 = parse_skipline
        end
        [s1, s2]
      else
        @current_pos = s0
        :failed
      end
    end
nl : newline+ skipline*