aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/example.norg106
-rw-r--r--Documentation/huge.norg2476
2 files changed, 2582 insertions, 0 deletions
diff --git a/Documentation/example.norg b/Documentation/example.norg
new file mode 100644
index 0000000..b986520
--- /dev/null
+++ b/Documentation/example.norg
@@ -0,0 +1,106 @@
+@document.meta
+title: NorgKit Example
+authors: [rbdr]
+categories: documentation
+version: 1.0
+@end
+
+* NorgKit
+
+NorgKit is a pure-/Foundation/ parser for *Norg* documents. This file exercises
+a representative spread of the syntax so it can double as a parser benchmark and
+a quick visual reference.
+
+** Inline markup
+
+A paragraph can mix *bold*, /italic/, _underline_ and -strikethrough- runs, plus
+`verbatim` spans and $f(x) = x^2$ math. Modifiers /can be _nested_/ where it makes
+sense, and a {https://github.com/nvim-neorg/neorg}[link] points elsewhere while a
+bare {* NorgKit} link references a heading. Escapes like \*these\* stay literal.
+
+** Tasks
+
+- (x) Parse headings and their TODO status
+- (x) Parse ordered and unordered lists
+- ( ) Parse `@code` blocks with a language
+- (-) Wire up the benchmark target
+- (=) Investigate a streaming backend
+- (?) Decide on a tree-sitter bridge
+-- ( ) Nested subtask one
+-- (x) Nested subtask two
+- (!) An urgent follow up
+- (+) A recurring chore
+- (_) A cancelled idea
+
+** Ordered steps
+
+~ Read the document into memory
+~ Split it into lines
+~ Recognise each block
+~~ Detached modifiers first
+~~ Then ranged tags
+~ Emit the block list
+
+** Quotes
+
+> A language that doesn't affect the way you think about programming is not worth
+> knowing.
+> (x) Even a quote can carry a settled status.
+
+** Code
+
+@code swift
+import NorgKit
+
+let document = NorgParser.parse(source)
+for block in document.blocks {
+ print(block.line, block.status as Any)
+}
+@end
+
+@code
+plain verbatim block without a language
+@end
+
+** Other ranged tags
+
+@math
+\int_0^1 x^2 \, dx = \frac{1}{3}
+@end
+
+@image.png diagram alt text
+/assets/architecture.png
+@end
+
+** Definitions and footnotes
+
+$ Norg
+A structured plain-text format for note-taking and task management.
+
+$$ Ranged definition
+This form scans every block until the closing modifier, so it can hold
+- a list,
+- and more than one paragraph.
+$$
+
+^ source
+The reference lives in the Neorg specification repository.
+
+** Prose
+
+This final section is a longer paragraph intended to be soft-wrapped across
+several source lines so the paragraph-merging path is exercised. The parser
+should join these physical lines into a single logical paragraph, preserving the
+inline styling such as *emphasis* and `code` while collapsing the line breaks
+into spaces. It keeps going for a few more lines to give the merge loop some
+real work to do during the benchmark run.
+
+---
+
+A weak delimiter precedes this paragraph and a horizontal rule follows it.
+
+___
+
+* Closing heading
+
+That's the end of the example document.
diff --git a/Documentation/huge.norg b/Documentation/huge.norg
new file mode 100644
index 0000000..f5321b2
--- /dev/null
+++ b/Documentation/huge.norg
@@ -0,0 +1,2476 @@
+@document.meta
+title: NorgKit Huge Benchmark Document
+authors: [rbdr]
+categories: benchmark
+version: 1.0
+@end
+
+* NorgKit Stress Document
+
+A generated document used to benchmark the parser against a large input.
+
+** Section 1
+
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+
+- (x) Task 1.0 for the agenda scanner
+-- ( ) nested item under 1.0
+- (?) Task 1.1 for the agenda scanner
+- (!) Task 1.2 for the agenda scanner
+- (+) Task 1.3 for the agenda scanner
+-- (!) nested item under 1.3
+- (-) Task 1.4 for the agenda scanner
+- (=) Task 1.5 for the agenda scanner
+
+~ Ordered step 0 of section 1
+~ Ordered step 1 of section 1
+~ Ordered step 2 of section 1
+~ Ordered step 3 of section 1
+
+> Quoted wisdom number 1 about parsing performance.
+
+** Section 2
+
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+
+- (?) Task 2.0 for the agenda scanner
+-- ( ) nested item under 2.0
+- (!) Task 2.1 for the agenda scanner
+- (+) Task 2.2 for the agenda scanner
+- (-) Task 2.3 for the agenda scanner
+-- (!) nested item under 2.3
+- (=) Task 2.4 for the agenda scanner
+- (_) Task 2.5 for the agenda scanner
+
+~ Ordered step 0 of section 2
+~ Ordered step 1 of section 2
+~ Ordered step 2 of section 2
+~ Ordered step 3 of section 2
+
+> Quoted wisdom number 2 about parsing performance.
+
+** Section 3
+
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+
+- (!) Task 3.0 for the agenda scanner
+-- ( ) nested item under 3.0
+- (+) Task 3.1 for the agenda scanner
+- (-) Task 3.2 for the agenda scanner
+- (=) Task 3.3 for the agenda scanner
+-- (!) nested item under 3.3
+- (_) Task 3.4 for the agenda scanner
+- ( ) Task 3.5 for the agenda scanner
+
+~ Ordered step 0 of section 3
+~ Ordered step 1 of section 3
+~ Ordered step 2 of section 3
+~ Ordered step 3 of section 3
+
+> Quoted wisdom number 3 about parsing performance.
+
+** Section 4
+
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+
+- (+) Task 4.0 for the agenda scanner
+-- ( ) nested item under 4.0
+- (-) Task 4.1 for the agenda scanner
+- (=) Task 4.2 for the agenda scanner
+- (_) Task 4.3 for the agenda scanner
+-- (!) nested item under 4.3
+- ( ) Task 4.4 for the agenda scanner
+- (x) Task 4.5 for the agenda scanner
+
+~ Ordered step 0 of section 4
+~ Ordered step 1 of section 4
+~ Ordered step 2 of section 4
+~ Ordered step 3 of section 4
+
+> Quoted wisdom number 4 about parsing performance.
+
+@code swift
+let section4 = NorgParser.parse(source) // 4
+print(section4.blocks.count)
+@end
+
+** Section 5
+
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+
+- (-) Task 5.0 for the agenda scanner
+-- ( ) nested item under 5.0
+- (=) Task 5.1 for the agenda scanner
+- (_) Task 5.2 for the agenda scanner
+- ( ) Task 5.3 for the agenda scanner
+-- (!) nested item under 5.3
+- (x) Task 5.4 for the agenda scanner
+- (?) Task 5.5 for the agenda scanner
+
+~ Ordered step 0 of section 5
+~ Ordered step 1 of section 5
+~ Ordered step 2 of section 5
+~ Ordered step 3 of section 5
+
+> Quoted wisdom number 5 about parsing performance.
+
+___
+
+** Section 6
+
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+dog while parsing norg blocks with bold italic
+
+- (=) Task 6.0 for the agenda scanner
+-- ( ) nested item under 6.0
+- (_) Task 6.1 for the agenda scanner
+- ( ) Task 6.2 for the agenda scanner
+- (x) Task 6.3 for the agenda scanner
+-- (!) nested item under 6.3
+- (?) Task 6.4 for the agenda scanner
+- (!) Task 6.5 for the agenda scanner
+
+~ Ordered step 0 of section 6
+~ Ordered step 1 of section 6
+~ Ordered step 2 of section 6
+~ Ordered step 3 of section 6
+
+> Quoted wisdom number 6 about parsing performance.
+
+** Section 7
+
+lazy dog while parsing norg blocks with *bold*
+dog while parsing norg blocks with bold italic
+while parsing norg blocks with bold italic and
+
+- (_) Task 7.0 for the agenda scanner
+-- ( ) nested item under 7.0
+- ( ) Task 7.1 for the agenda scanner
+- (x) Task 7.2 for the agenda scanner
+- (?) Task 7.3 for the agenda scanner
+-- (!) nested item under 7.3
+- (!) Task 7.4 for the agenda scanner
+- (+) Task 7.5 for the agenda scanner
+
+~ Ordered step 0 of section 7
+~ Ordered step 1 of section 7
+~ Ordered step 2 of section 7
+~ Ordered step 3 of section 7
+
+> Quoted wisdom number 7 about parsing performance.
+
+@math
+\sum_{i=0}^{7} i = \frac{7(7+1)}{2}
+@end
+
+** Section 8
+
+dog while parsing norg blocks with *bold* /italic/
+while parsing norg blocks with bold italic and
+parsing norg blocks with bold italic and verbatim
+
+- ( ) Task 8.0 for the agenda scanner
+-- ( ) nested item under 8.0
+- (x) Task 8.1 for the agenda scanner
+- (?) Task 8.2 for the agenda scanner
+- (!) Task 8.3 for the agenda scanner
+-- (!) nested item under 8.3
+- (+) Task 8.4 for the agenda scanner
+- (-) Task 8.5 for the agenda scanner
+
+~ Ordered step 0 of section 8
+~ Ordered step 1 of section 8
+~ Ordered step 2 of section 8
+~ Ordered step 3 of section 8
+
+> Quoted wisdom number 8 about parsing performance.
+
+@code swift
+let section8 = NorgParser.parse(source) // 8
+print(section8.blocks.count)
+@end
+
+** Section 9
+
+while parsing norg blocks with *bold* /italic/ and
+parsing norg blocks with bold italic and verbatim
+norg blocks with bold italic and verbatim runs
+
+- (x) Task 9.0 for the agenda scanner
+-- ( ) nested item under 9.0
+- (?) Task 9.1 for the agenda scanner
+- (!) Task 9.2 for the agenda scanner
+- (+) Task 9.3 for the agenda scanner
+-- (!) nested item under 9.3
+- (-) Task 9.4 for the agenda scanner
+- (=) Task 9.5 for the agenda scanner
+
+~ Ordered step 0 of section 9
+~ Ordered step 1 of section 9
+~ Ordered step 2 of section 9
+~ Ordered step 3 of section 9
+
+> Quoted wisdom number 9 about parsing performance.
+
+** Section 10
+
+parsing norg blocks with *bold* /italic/ and `verbatim`
+norg blocks with bold italic and verbatim runs
+blocks with bold italic and verbatim runs scattered
+
+- (?) Task 10.0 for the agenda scanner
+-- ( ) nested item under 10.0
+- (!) Task 10.1 for the agenda scanner
+- (+) Task 10.2 for the agenda scanner
+- (-) Task 10.3 for the agenda scanner
+-- (!) nested item under 10.3
+- (=) Task 10.4 for the agenda scanner
+- (_) Task 10.5 for the agenda scanner
+
+~ Ordered step 0 of section 10
+~ Ordered step 1 of section 10
+~ Ordered step 2 of section 10
+~ Ordered step 3 of section 10
+
+> Quoted wisdom number 10 about parsing performance.
+
+___
+
+** Section 11
+
+norg blocks with *bold* /italic/ and `verbatim` runs
+blocks with bold italic and verbatim runs scattered
+with bold italic and verbatim runs scattered throughout
+
+- (!) Task 11.0 for the agenda scanner
+-- ( ) nested item under 11.0
+- (+) Task 11.1 for the agenda scanner
+- (-) Task 11.2 for the agenda scanner
+- (=) Task 11.3 for the agenda scanner
+-- (!) nested item under 11.3
+- (_) Task 11.4 for the agenda scanner
+- ( ) Task 11.5 for the agenda scanner
+
+~ Ordered step 0 of section 11
+~ Ordered step 1 of section 11
+~ Ordered step 2 of section 11
+~ Ordered step 3 of section 11
+
+> Quoted wisdom number 11 about parsing performance.
+
+** Section 12
+
+blocks with *bold* /italic/ and `verbatim` runs scattered
+with bold italic and verbatim runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+
+- (+) Task 12.0 for the agenda scanner
+-- ( ) nested item under 12.0
+- (-) Task 12.1 for the agenda scanner
+- (=) Task 12.2 for the agenda scanner
+- (_) Task 12.3 for the agenda scanner
+-- (!) nested item under 12.3
+- ( ) Task 12.4 for the agenda scanner
+- (x) Task 12.5 for the agenda scanner
+
+~ Ordered step 0 of section 12
+~ Ordered step 1 of section 12
+~ Ordered step 2 of section 12
+~ Ordered step 3 of section 12
+
+> Quoted wisdom number 12 about parsing performance.
+
+@code swift
+let section12 = NorgParser.parse(source) // 12
+print(section12.blocks.count)
+@end
+
+** Section 13
+
+with *bold* /italic/ and `verbatim` runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+
+- (-) Task 13.0 for the agenda scanner
+-- ( ) nested item under 13.0
+- (=) Task 13.1 for the agenda scanner
+- (_) Task 13.2 for the agenda scanner
+- ( ) Task 13.3 for the agenda scanner
+-- (!) nested item under 13.3
+- (x) Task 13.4 for the agenda scanner
+- (?) Task 13.5 for the agenda scanner
+
+~ Ordered step 0 of section 13
+~ Ordered step 1 of section 13
+~ Ordered step 2 of section 13
+~ Ordered step 3 of section 13
+
+> Quoted wisdom number 13 about parsing performance.
+
+** Section 14
+
+*bold* /italic/ and `verbatim` runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+
+- (=) Task 14.0 for the agenda scanner
+-- ( ) nested item under 14.0
+- (_) Task 14.1 for the agenda scanner
+- ( ) Task 14.2 for the agenda scanner
+- (x) Task 14.3 for the agenda scanner
+-- (!) nested item under 14.3
+- (?) Task 14.4 for the agenda scanner
+- (!) Task 14.5 for the agenda scanner
+
+~ Ordered step 0 of section 14
+~ Ordered step 1 of section 14
+~ Ordered step 2 of section 14
+~ Ordered step 3 of section 14
+
+> Quoted wisdom number 14 about parsing performance.
+
+@math
+\sum_{i=0}^{14} i = \frac{14(14+1)}{2}
+@end
+
+** Section 15
+
+/italic/ and `verbatim` runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+
+- (_) Task 15.0 for the agenda scanner
+-- ( ) nested item under 15.0
+- ( ) Task 15.1 for the agenda scanner
+- (x) Task 15.2 for the agenda scanner
+- (?) Task 15.3 for the agenda scanner
+-- (!) nested item under 15.3
+- (!) Task 15.4 for the agenda scanner
+- (+) Task 15.5 for the agenda scanner
+
+~ Ordered step 0 of section 15
+~ Ordered step 1 of section 15
+~ Ordered step 2 of section 15
+~ Ordered step 3 of section 15
+
+> Quoted wisdom number 15 about parsing performance.
+
+___
+
+** Section 16
+
+and `verbatim` runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+runs scattered throughout the prose
+
+- ( ) Task 16.0 for the agenda scanner
+-- ( ) nested item under 16.0
+- (x) Task 16.1 for the agenda scanner
+- (?) Task 16.2 for the agenda scanner
+- (!) Task 16.3 for the agenda scanner
+-- (!) nested item under 16.3
+- (+) Task 16.4 for the agenda scanner
+- (-) Task 16.5 for the agenda scanner
+
+~ Ordered step 0 of section 16
+~ Ordered step 1 of section 16
+~ Ordered step 2 of section 16
+~ Ordered step 3 of section 16
+
+> Quoted wisdom number 16 about parsing performance.
+
+@code swift
+let section16 = NorgParser.parse(source) // 16
+print(section16.blocks.count)
+@end
+
+** Section 17
+
+`verbatim` runs scattered throughout the prose
+runs scattered throughout the prose
+scattered throughout the prose
+
+- (x) Task 17.0 for the agenda scanner
+-- ( ) nested item under 17.0
+- (?) Task 17.1 for the agenda scanner
+- (!) Task 17.2 for the agenda scanner
+- (+) Task 17.3 for the agenda scanner
+-- (!) nested item under 17.3
+- (-) Task 17.4 for the agenda scanner
+- (=) Task 17.5 for the agenda scanner
+
+~ Ordered step 0 of section 17
+~ Ordered step 1 of section 17
+~ Ordered step 2 of section 17
+~ Ordered step 3 of section 17
+
+> Quoted wisdom number 17 about parsing performance.
+
+** Section 18
+
+runs scattered throughout the prose
+scattered throughout the prose
+throughout the prose
+
+- (?) Task 18.0 for the agenda scanner
+-- ( ) nested item under 18.0
+- (!) Task 18.1 for the agenda scanner
+- (+) Task 18.2 for the agenda scanner
+- (-) Task 18.3 for the agenda scanner
+-- (!) nested item under 18.3
+- (=) Task 18.4 for the agenda scanner
+- (_) Task 18.5 for the agenda scanner
+
+~ Ordered step 0 of section 18
+~ Ordered step 1 of section 18
+~ Ordered step 2 of section 18
+~ Ordered step 3 of section 18
+
+> Quoted wisdom number 18 about parsing performance.
+
+** Section 19
+
+scattered throughout the prose
+throughout the prose
+the prose
+
+- (!) Task 19.0 for the agenda scanner
+-- ( ) nested item under 19.0
+- (+) Task 19.1 for the agenda scanner
+- (-) Task 19.2 for the agenda scanner
+- (=) Task 19.3 for the agenda scanner
+-- (!) nested item under 19.3
+- (_) Task 19.4 for the agenda scanner
+- ( ) Task 19.5 for the agenda scanner
+
+~ Ordered step 0 of section 19
+~ Ordered step 1 of section 19
+~ Ordered step 2 of section 19
+~ Ordered step 3 of section 19
+
+> Quoted wisdom number 19 about parsing performance.
+
+** Section 20
+
+throughout the prose
+the prose
+prose
+
+- (+) Task 20.0 for the agenda scanner
+-- ( ) nested item under 20.0
+- (-) Task 20.1 for the agenda scanner
+- (=) Task 20.2 for the agenda scanner
+- (_) Task 20.3 for the agenda scanner
+-- (!) nested item under 20.3
+- ( ) Task 20.4 for the agenda scanner
+- (x) Task 20.5 for the agenda scanner
+
+~ Ordered step 0 of section 20
+~ Ordered step 1 of section 20
+~ Ordered step 2 of section 20
+~ Ordered step 3 of section 20
+
+> Quoted wisdom number 20 about parsing performance.
+
+@code swift
+let section20 = NorgParser.parse(source) // 20
+print(section20.blocks.count)
+@end
+
+___
+
+** Section 21
+
+the prose
+prose
+the quick brown fox jumps over a lazy
+
+- (-) Task 21.0 for the agenda scanner
+-- ( ) nested item under 21.0
+- (=) Task 21.1 for the agenda scanner
+- (_) Task 21.2 for the agenda scanner
+- ( ) Task 21.3 for the agenda scanner
+-- (!) nested item under 21.3
+- (x) Task 21.4 for the agenda scanner
+- (?) Task 21.5 for the agenda scanner
+
+~ Ordered step 0 of section 21
+~ Ordered step 1 of section 21
+~ Ordered step 2 of section 21
+~ Ordered step 3 of section 21
+
+> Quoted wisdom number 21 about parsing performance.
+
+@math
+\sum_{i=0}^{21} i = \frac{21(21+1)}{2}
+@end
+
+** Section 22
+
+prose
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+
+- (=) Task 22.0 for the agenda scanner
+-- ( ) nested item under 22.0
+- (_) Task 22.1 for the agenda scanner
+- ( ) Task 22.2 for the agenda scanner
+- (x) Task 22.3 for the agenda scanner
+-- (!) nested item under 22.3
+- (?) Task 22.4 for the agenda scanner
+- (!) Task 22.5 for the agenda scanner
+
+~ Ordered step 0 of section 22
+~ Ordered step 1 of section 22
+~ Ordered step 2 of section 22
+~ Ordered step 3 of section 22
+
+> Quoted wisdom number 22 about parsing performance.
+
+** Section 23
+
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+
+- (_) Task 23.0 for the agenda scanner
+-- ( ) nested item under 23.0
+- ( ) Task 23.1 for the agenda scanner
+- (x) Task 23.2 for the agenda scanner
+- (?) Task 23.3 for the agenda scanner
+-- (!) nested item under 23.3
+- (!) Task 23.4 for the agenda scanner
+- (+) Task 23.5 for the agenda scanner
+
+~ Ordered step 0 of section 23
+~ Ordered step 1 of section 23
+~ Ordered step 2 of section 23
+~ Ordered step 3 of section 23
+
+> Quoted wisdom number 23 about parsing performance.
+
+** Section 24
+
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+
+- ( ) Task 24.0 for the agenda scanner
+-- ( ) nested item under 24.0
+- (x) Task 24.1 for the agenda scanner
+- (?) Task 24.2 for the agenda scanner
+- (!) Task 24.3 for the agenda scanner
+-- (!) nested item under 24.3
+- (+) Task 24.4 for the agenda scanner
+- (-) Task 24.5 for the agenda scanner
+
+~ Ordered step 0 of section 24
+~ Ordered step 1 of section 24
+~ Ordered step 2 of section 24
+~ Ordered step 3 of section 24
+
+> Quoted wisdom number 24 about parsing performance.
+
+@code swift
+let section24 = NorgParser.parse(source) // 24
+print(section24.blocks.count)
+@end
+
+** Section 25
+
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+
+- (x) Task 25.0 for the agenda scanner
+-- ( ) nested item under 25.0
+- (?) Task 25.1 for the agenda scanner
+- (!) Task 25.2 for the agenda scanner
+- (+) Task 25.3 for the agenda scanner
+-- (!) nested item under 25.3
+- (-) Task 25.4 for the agenda scanner
+- (=) Task 25.5 for the agenda scanner
+
+~ Ordered step 0 of section 25
+~ Ordered step 1 of section 25
+~ Ordered step 2 of section 25
+~ Ordered step 3 of section 25
+
+> Quoted wisdom number 25 about parsing performance.
+
+___
+
+** Section 26
+
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+
+- (?) Task 26.0 for the agenda scanner
+-- ( ) nested item under 26.0
+- (!) Task 26.1 for the agenda scanner
+- (+) Task 26.2 for the agenda scanner
+- (-) Task 26.3 for the agenda scanner
+-- (!) nested item under 26.3
+- (=) Task 26.4 for the agenda scanner
+- (_) Task 26.5 for the agenda scanner
+
+~ Ordered step 0 of section 26
+~ Ordered step 1 of section 26
+~ Ordered step 2 of section 26
+~ Ordered step 3 of section 26
+
+> Quoted wisdom number 26 about parsing performance.
+
+** Section 27
+
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+
+- (!) Task 27.0 for the agenda scanner
+-- ( ) nested item under 27.0
+- (+) Task 27.1 for the agenda scanner
+- (-) Task 27.2 for the agenda scanner
+- (=) Task 27.3 for the agenda scanner
+-- (!) nested item under 27.3
+- (_) Task 27.4 for the agenda scanner
+- ( ) Task 27.5 for the agenda scanner
+
+~ Ordered step 0 of section 27
+~ Ordered step 1 of section 27
+~ Ordered step 2 of section 27
+~ Ordered step 3 of section 27
+
+> Quoted wisdom number 27 about parsing performance.
+
+** Section 28
+
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+
+- (+) Task 28.0 for the agenda scanner
+-- ( ) nested item under 28.0
+- (-) Task 28.1 for the agenda scanner
+- (=) Task 28.2 for the agenda scanner
+- (_) Task 28.3 for the agenda scanner
+-- (!) nested item under 28.3
+- ( ) Task 28.4 for the agenda scanner
+- (x) Task 28.5 for the agenda scanner
+
+~ Ordered step 0 of section 28
+~ Ordered step 1 of section 28
+~ Ordered step 2 of section 28
+~ Ordered step 3 of section 28
+
+> Quoted wisdom number 28 about parsing performance.
+
+@code swift
+let section28 = NorgParser.parse(source) // 28
+print(section28.blocks.count)
+@end
+
+@math
+\sum_{i=0}^{28} i = \frac{28(28+1)}{2}
+@end
+
+** Section 29
+
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+dog while parsing norg blocks with bold italic
+
+- (-) Task 29.0 for the agenda scanner
+-- ( ) nested item under 29.0
+- (=) Task 29.1 for the agenda scanner
+- (_) Task 29.2 for the agenda scanner
+- ( ) Task 29.3 for the agenda scanner
+-- (!) nested item under 29.3
+- (x) Task 29.4 for the agenda scanner
+- (?) Task 29.5 for the agenda scanner
+
+~ Ordered step 0 of section 29
+~ Ordered step 1 of section 29
+~ Ordered step 2 of section 29
+~ Ordered step 3 of section 29
+
+> Quoted wisdom number 29 about parsing performance.
+
+** Section 30
+
+lazy dog while parsing norg blocks with *bold*
+dog while parsing norg blocks with bold italic
+while parsing norg blocks with bold italic and
+
+- (=) Task 30.0 for the agenda scanner
+-- ( ) nested item under 30.0
+- (_) Task 30.1 for the agenda scanner
+- ( ) Task 30.2 for the agenda scanner
+- (x) Task 30.3 for the agenda scanner
+-- (!) nested item under 30.3
+- (?) Task 30.4 for the agenda scanner
+- (!) Task 30.5 for the agenda scanner
+
+~ Ordered step 0 of section 30
+~ Ordered step 1 of section 30
+~ Ordered step 2 of section 30
+~ Ordered step 3 of section 30
+
+> Quoted wisdom number 30 about parsing performance.
+
+___
+
+** Section 31
+
+dog while parsing norg blocks with *bold* /italic/
+while parsing norg blocks with bold italic and
+parsing norg blocks with bold italic and verbatim
+
+- (_) Task 31.0 for the agenda scanner
+-- ( ) nested item under 31.0
+- ( ) Task 31.1 for the agenda scanner
+- (x) Task 31.2 for the agenda scanner
+- (?) Task 31.3 for the agenda scanner
+-- (!) nested item under 31.3
+- (!) Task 31.4 for the agenda scanner
+- (+) Task 31.5 for the agenda scanner
+
+~ Ordered step 0 of section 31
+~ Ordered step 1 of section 31
+~ Ordered step 2 of section 31
+~ Ordered step 3 of section 31
+
+> Quoted wisdom number 31 about parsing performance.
+
+** Section 32
+
+while parsing norg blocks with *bold* /italic/ and
+parsing norg blocks with bold italic and verbatim
+norg blocks with bold italic and verbatim runs
+
+- ( ) Task 32.0 for the agenda scanner
+-- ( ) nested item under 32.0
+- (x) Task 32.1 for the agenda scanner
+- (?) Task 32.2 for the agenda scanner
+- (!) Task 32.3 for the agenda scanner
+-- (!) nested item under 32.3
+- (+) Task 32.4 for the agenda scanner
+- (-) Task 32.5 for the agenda scanner
+
+~ Ordered step 0 of section 32
+~ Ordered step 1 of section 32
+~ Ordered step 2 of section 32
+~ Ordered step 3 of section 32
+
+> Quoted wisdom number 32 about parsing performance.
+
+@code swift
+let section32 = NorgParser.parse(source) // 32
+print(section32.blocks.count)
+@end
+
+** Section 33
+
+parsing norg blocks with *bold* /italic/ and `verbatim`
+norg blocks with bold italic and verbatim runs
+blocks with bold italic and verbatim runs scattered
+
+- (x) Task 33.0 for the agenda scanner
+-- ( ) nested item under 33.0
+- (?) Task 33.1 for the agenda scanner
+- (!) Task 33.2 for the agenda scanner
+- (+) Task 33.3 for the agenda scanner
+-- (!) nested item under 33.3
+- (-) Task 33.4 for the agenda scanner
+- (=) Task 33.5 for the agenda scanner
+
+~ Ordered step 0 of section 33
+~ Ordered step 1 of section 33
+~ Ordered step 2 of section 33
+~ Ordered step 3 of section 33
+
+> Quoted wisdom number 33 about parsing performance.
+
+** Section 34
+
+norg blocks with *bold* /italic/ and `verbatim` runs
+blocks with bold italic and verbatim runs scattered
+with bold italic and verbatim runs scattered throughout
+
+- (?) Task 34.0 for the agenda scanner
+-- ( ) nested item under 34.0
+- (!) Task 34.1 for the agenda scanner
+- (+) Task 34.2 for the agenda scanner
+- (-) Task 34.3 for the agenda scanner
+-- (!) nested item under 34.3
+- (=) Task 34.4 for the agenda scanner
+- (_) Task 34.5 for the agenda scanner
+
+~ Ordered step 0 of section 34
+~ Ordered step 1 of section 34
+~ Ordered step 2 of section 34
+~ Ordered step 3 of section 34
+
+> Quoted wisdom number 34 about parsing performance.
+
+** Section 35
+
+blocks with *bold* /italic/ and `verbatim` runs scattered
+with bold italic and verbatim runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+
+- (!) Task 35.0 for the agenda scanner
+-- ( ) nested item under 35.0
+- (+) Task 35.1 for the agenda scanner
+- (-) Task 35.2 for the agenda scanner
+- (=) Task 35.3 for the agenda scanner
+-- (!) nested item under 35.3
+- (_) Task 35.4 for the agenda scanner
+- ( ) Task 35.5 for the agenda scanner
+
+~ Ordered step 0 of section 35
+~ Ordered step 1 of section 35
+~ Ordered step 2 of section 35
+~ Ordered step 3 of section 35
+
+> Quoted wisdom number 35 about parsing performance.
+
+@math
+\sum_{i=0}^{35} i = \frac{35(35+1)}{2}
+@end
+
+___
+
+** Section 36
+
+with *bold* /italic/ and `verbatim` runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+
+- (+) Task 36.0 for the agenda scanner
+-- ( ) nested item under 36.0
+- (-) Task 36.1 for the agenda scanner
+- (=) Task 36.2 for the agenda scanner
+- (_) Task 36.3 for the agenda scanner
+-- (!) nested item under 36.3
+- ( ) Task 36.4 for the agenda scanner
+- (x) Task 36.5 for the agenda scanner
+
+~ Ordered step 0 of section 36
+~ Ordered step 1 of section 36
+~ Ordered step 2 of section 36
+~ Ordered step 3 of section 36
+
+> Quoted wisdom number 36 about parsing performance.
+
+@code swift
+let section36 = NorgParser.parse(source) // 36
+print(section36.blocks.count)
+@end
+
+** Section 37
+
+*bold* /italic/ and `verbatim` runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+
+- (-) Task 37.0 for the agenda scanner
+-- ( ) nested item under 37.0
+- (=) Task 37.1 for the agenda scanner
+- (_) Task 37.2 for the agenda scanner
+- ( ) Task 37.3 for the agenda scanner
+-- (!) nested item under 37.3
+- (x) Task 37.4 for the agenda scanner
+- (?) Task 37.5 for the agenda scanner
+
+~ Ordered step 0 of section 37
+~ Ordered step 1 of section 37
+~ Ordered step 2 of section 37
+~ Ordered step 3 of section 37
+
+> Quoted wisdom number 37 about parsing performance.
+
+** Section 38
+
+/italic/ and `verbatim` runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+
+- (=) Task 38.0 for the agenda scanner
+-- ( ) nested item under 38.0
+- (_) Task 38.1 for the agenda scanner
+- ( ) Task 38.2 for the agenda scanner
+- (x) Task 38.3 for the agenda scanner
+-- (!) nested item under 38.3
+- (?) Task 38.4 for the agenda scanner
+- (!) Task 38.5 for the agenda scanner
+
+~ Ordered step 0 of section 38
+~ Ordered step 1 of section 38
+~ Ordered step 2 of section 38
+~ Ordered step 3 of section 38
+
+> Quoted wisdom number 38 about parsing performance.
+
+** Section 39
+
+and `verbatim` runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+runs scattered throughout the prose
+
+- (_) Task 39.0 for the agenda scanner
+-- ( ) nested item under 39.0
+- ( ) Task 39.1 for the agenda scanner
+- (x) Task 39.2 for the agenda scanner
+- (?) Task 39.3 for the agenda scanner
+-- (!) nested item under 39.3
+- (!) Task 39.4 for the agenda scanner
+- (+) Task 39.5 for the agenda scanner
+
+~ Ordered step 0 of section 39
+~ Ordered step 1 of section 39
+~ Ordered step 2 of section 39
+~ Ordered step 3 of section 39
+
+> Quoted wisdom number 39 about parsing performance.
+
+** Section 40
+
+`verbatim` runs scattered throughout the prose
+runs scattered throughout the prose
+scattered throughout the prose
+
+- ( ) Task 40.0 for the agenda scanner
+-- ( ) nested item under 40.0
+- (x) Task 40.1 for the agenda scanner
+- (?) Task 40.2 for the agenda scanner
+- (!) Task 40.3 for the agenda scanner
+-- (!) nested item under 40.3
+- (+) Task 40.4 for the agenda scanner
+- (-) Task 40.5 for the agenda scanner
+
+~ Ordered step 0 of section 40
+~ Ordered step 1 of section 40
+~ Ordered step 2 of section 40
+~ Ordered step 3 of section 40
+
+> Quoted wisdom number 40 about parsing performance.
+
+@code swift
+let section40 = NorgParser.parse(source) // 40
+print(section40.blocks.count)
+@end
+
+___
+
+** Section 41
+
+runs scattered throughout the prose
+scattered throughout the prose
+throughout the prose
+
+- (x) Task 41.0 for the agenda scanner
+-- ( ) nested item under 41.0
+- (?) Task 41.1 for the agenda scanner
+- (!) Task 41.2 for the agenda scanner
+- (+) Task 41.3 for the agenda scanner
+-- (!) nested item under 41.3
+- (-) Task 41.4 for the agenda scanner
+- (=) Task 41.5 for the agenda scanner
+
+~ Ordered step 0 of section 41
+~ Ordered step 1 of section 41
+~ Ordered step 2 of section 41
+~ Ordered step 3 of section 41
+
+> Quoted wisdom number 41 about parsing performance.
+
+** Section 42
+
+scattered throughout the prose
+throughout the prose
+the prose
+
+- (?) Task 42.0 for the agenda scanner
+-- ( ) nested item under 42.0
+- (!) Task 42.1 for the agenda scanner
+- (+) Task 42.2 for the agenda scanner
+- (-) Task 42.3 for the agenda scanner
+-- (!) nested item under 42.3
+- (=) Task 42.4 for the agenda scanner
+- (_) Task 42.5 for the agenda scanner
+
+~ Ordered step 0 of section 42
+~ Ordered step 1 of section 42
+~ Ordered step 2 of section 42
+~ Ordered step 3 of section 42
+
+> Quoted wisdom number 42 about parsing performance.
+
+@math
+\sum_{i=0}^{42} i = \frac{42(42+1)}{2}
+@end
+
+** Section 43
+
+throughout the prose
+the prose
+prose
+
+- (!) Task 43.0 for the agenda scanner
+-- ( ) nested item under 43.0
+- (+) Task 43.1 for the agenda scanner
+- (-) Task 43.2 for the agenda scanner
+- (=) Task 43.3 for the agenda scanner
+-- (!) nested item under 43.3
+- (_) Task 43.4 for the agenda scanner
+- ( ) Task 43.5 for the agenda scanner
+
+~ Ordered step 0 of section 43
+~ Ordered step 1 of section 43
+~ Ordered step 2 of section 43
+~ Ordered step 3 of section 43
+
+> Quoted wisdom number 43 about parsing performance.
+
+** Section 44
+
+the prose
+prose
+the quick brown fox jumps over a lazy
+
+- (+) Task 44.0 for the agenda scanner
+-- ( ) nested item under 44.0
+- (-) Task 44.1 for the agenda scanner
+- (=) Task 44.2 for the agenda scanner
+- (_) Task 44.3 for the agenda scanner
+-- (!) nested item under 44.3
+- ( ) Task 44.4 for the agenda scanner
+- (x) Task 44.5 for the agenda scanner
+
+~ Ordered step 0 of section 44
+~ Ordered step 1 of section 44
+~ Ordered step 2 of section 44
+~ Ordered step 3 of section 44
+
+> Quoted wisdom number 44 about parsing performance.
+
+@code swift
+let section44 = NorgParser.parse(source) // 44
+print(section44.blocks.count)
+@end
+
+** Section 45
+
+prose
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+
+- (-) Task 45.0 for the agenda scanner
+-- ( ) nested item under 45.0
+- (=) Task 45.1 for the agenda scanner
+- (_) Task 45.2 for the agenda scanner
+- ( ) Task 45.3 for the agenda scanner
+-- (!) nested item under 45.3
+- (x) Task 45.4 for the agenda scanner
+- (?) Task 45.5 for the agenda scanner
+
+~ Ordered step 0 of section 45
+~ Ordered step 1 of section 45
+~ Ordered step 2 of section 45
+~ Ordered step 3 of section 45
+
+> Quoted wisdom number 45 about parsing performance.
+
+___
+
+** Section 46
+
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+
+- (=) Task 46.0 for the agenda scanner
+-- ( ) nested item under 46.0
+- (_) Task 46.1 for the agenda scanner
+- ( ) Task 46.2 for the agenda scanner
+- (x) Task 46.3 for the agenda scanner
+-- (!) nested item under 46.3
+- (?) Task 46.4 for the agenda scanner
+- (!) Task 46.5 for the agenda scanner
+
+~ Ordered step 0 of section 46
+~ Ordered step 1 of section 46
+~ Ordered step 2 of section 46
+~ Ordered step 3 of section 46
+
+> Quoted wisdom number 46 about parsing performance.
+
+** Section 47
+
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+
+- (_) Task 47.0 for the agenda scanner
+-- ( ) nested item under 47.0
+- ( ) Task 47.1 for the agenda scanner
+- (x) Task 47.2 for the agenda scanner
+- (?) Task 47.3 for the agenda scanner
+-- (!) nested item under 47.3
+- (!) Task 47.4 for the agenda scanner
+- (+) Task 47.5 for the agenda scanner
+
+~ Ordered step 0 of section 47
+~ Ordered step 1 of section 47
+~ Ordered step 2 of section 47
+~ Ordered step 3 of section 47
+
+> Quoted wisdom number 47 about parsing performance.
+
+** Section 48
+
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+
+- ( ) Task 48.0 for the agenda scanner
+-- ( ) nested item under 48.0
+- (x) Task 48.1 for the agenda scanner
+- (?) Task 48.2 for the agenda scanner
+- (!) Task 48.3 for the agenda scanner
+-- (!) nested item under 48.3
+- (+) Task 48.4 for the agenda scanner
+- (-) Task 48.5 for the agenda scanner
+
+~ Ordered step 0 of section 48
+~ Ordered step 1 of section 48
+~ Ordered step 2 of section 48
+~ Ordered step 3 of section 48
+
+> Quoted wisdom number 48 about parsing performance.
+
+@code swift
+let section48 = NorgParser.parse(source) // 48
+print(section48.blocks.count)
+@end
+
+** Section 49
+
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+
+- (x) Task 49.0 for the agenda scanner
+-- ( ) nested item under 49.0
+- (?) Task 49.1 for the agenda scanner
+- (!) Task 49.2 for the agenda scanner
+- (+) Task 49.3 for the agenda scanner
+-- (!) nested item under 49.3
+- (-) Task 49.4 for the agenda scanner
+- (=) Task 49.5 for the agenda scanner
+
+~ Ordered step 0 of section 49
+~ Ordered step 1 of section 49
+~ Ordered step 2 of section 49
+~ Ordered step 3 of section 49
+
+> Quoted wisdom number 49 about parsing performance.
+
+@math
+\sum_{i=0}^{49} i = \frac{49(49+1)}{2}
+@end
+
+** Section 50
+
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+
+- (?) Task 50.0 for the agenda scanner
+-- ( ) nested item under 50.0
+- (!) Task 50.1 for the agenda scanner
+- (+) Task 50.2 for the agenda scanner
+- (-) Task 50.3 for the agenda scanner
+-- (!) nested item under 50.3
+- (=) Task 50.4 for the agenda scanner
+- (_) Task 50.5 for the agenda scanner
+
+~ Ordered step 0 of section 50
+~ Ordered step 1 of section 50
+~ Ordered step 2 of section 50
+~ Ordered step 3 of section 50
+
+> Quoted wisdom number 50 about parsing performance.
+
+___
+
+** Section 51
+
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+
+- (!) Task 51.0 for the agenda scanner
+-- ( ) nested item under 51.0
+- (+) Task 51.1 for the agenda scanner
+- (-) Task 51.2 for the agenda scanner
+- (=) Task 51.3 for the agenda scanner
+-- (!) nested item under 51.3
+- (_) Task 51.4 for the agenda scanner
+- ( ) Task 51.5 for the agenda scanner
+
+~ Ordered step 0 of section 51
+~ Ordered step 1 of section 51
+~ Ordered step 2 of section 51
+~ Ordered step 3 of section 51
+
+> Quoted wisdom number 51 about parsing performance.
+
+** Section 52
+
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+dog while parsing norg blocks with bold italic
+
+- (+) Task 52.0 for the agenda scanner
+-- ( ) nested item under 52.0
+- (-) Task 52.1 for the agenda scanner
+- (=) Task 52.2 for the agenda scanner
+- (_) Task 52.3 for the agenda scanner
+-- (!) nested item under 52.3
+- ( ) Task 52.4 for the agenda scanner
+- (x) Task 52.5 for the agenda scanner
+
+~ Ordered step 0 of section 52
+~ Ordered step 1 of section 52
+~ Ordered step 2 of section 52
+~ Ordered step 3 of section 52
+
+> Quoted wisdom number 52 about parsing performance.
+
+@code swift
+let section52 = NorgParser.parse(source) // 52
+print(section52.blocks.count)
+@end
+
+** Section 53
+
+lazy dog while parsing norg blocks with *bold*
+dog while parsing norg blocks with bold italic
+while parsing norg blocks with bold italic and
+
+- (-) Task 53.0 for the agenda scanner
+-- ( ) nested item under 53.0
+- (=) Task 53.1 for the agenda scanner
+- (_) Task 53.2 for the agenda scanner
+- ( ) Task 53.3 for the agenda scanner
+-- (!) nested item under 53.3
+- (x) Task 53.4 for the agenda scanner
+- (?) Task 53.5 for the agenda scanner
+
+~ Ordered step 0 of section 53
+~ Ordered step 1 of section 53
+~ Ordered step 2 of section 53
+~ Ordered step 3 of section 53
+
+> Quoted wisdom number 53 about parsing performance.
+
+** Section 54
+
+dog while parsing norg blocks with *bold* /italic/
+while parsing norg blocks with bold italic and
+parsing norg blocks with bold italic and verbatim
+
+- (=) Task 54.0 for the agenda scanner
+-- ( ) nested item under 54.0
+- (_) Task 54.1 for the agenda scanner
+- ( ) Task 54.2 for the agenda scanner
+- (x) Task 54.3 for the agenda scanner
+-- (!) nested item under 54.3
+- (?) Task 54.4 for the agenda scanner
+- (!) Task 54.5 for the agenda scanner
+
+~ Ordered step 0 of section 54
+~ Ordered step 1 of section 54
+~ Ordered step 2 of section 54
+~ Ordered step 3 of section 54
+
+> Quoted wisdom number 54 about parsing performance.
+
+** Section 55
+
+while parsing norg blocks with *bold* /italic/ and
+parsing norg blocks with bold italic and verbatim
+norg blocks with bold italic and verbatim runs
+
+- (_) Task 55.0 for the agenda scanner
+-- ( ) nested item under 55.0
+- ( ) Task 55.1 for the agenda scanner
+- (x) Task 55.2 for the agenda scanner
+- (?) Task 55.3 for the agenda scanner
+-- (!) nested item under 55.3
+- (!) Task 55.4 for the agenda scanner
+- (+) Task 55.5 for the agenda scanner
+
+~ Ordered step 0 of section 55
+~ Ordered step 1 of section 55
+~ Ordered step 2 of section 55
+~ Ordered step 3 of section 55
+
+> Quoted wisdom number 55 about parsing performance.
+
+___
+
+** Section 56
+
+parsing norg blocks with *bold* /italic/ and `verbatim`
+norg blocks with bold italic and verbatim runs
+blocks with bold italic and verbatim runs scattered
+
+- ( ) Task 56.0 for the agenda scanner
+-- ( ) nested item under 56.0
+- (x) Task 56.1 for the agenda scanner
+- (?) Task 56.2 for the agenda scanner
+- (!) Task 56.3 for the agenda scanner
+-- (!) nested item under 56.3
+- (+) Task 56.4 for the agenda scanner
+- (-) Task 56.5 for the agenda scanner
+
+~ Ordered step 0 of section 56
+~ Ordered step 1 of section 56
+~ Ordered step 2 of section 56
+~ Ordered step 3 of section 56
+
+> Quoted wisdom number 56 about parsing performance.
+
+@code swift
+let section56 = NorgParser.parse(source) // 56
+print(section56.blocks.count)
+@end
+
+@math
+\sum_{i=0}^{56} i = \frac{56(56+1)}{2}
+@end
+
+** Section 57
+
+norg blocks with *bold* /italic/ and `verbatim` runs
+blocks with bold italic and verbatim runs scattered
+with bold italic and verbatim runs scattered throughout
+
+- (x) Task 57.0 for the agenda scanner
+-- ( ) nested item under 57.0
+- (?) Task 57.1 for the agenda scanner
+- (!) Task 57.2 for the agenda scanner
+- (+) Task 57.3 for the agenda scanner
+-- (!) nested item under 57.3
+- (-) Task 57.4 for the agenda scanner
+- (=) Task 57.5 for the agenda scanner
+
+~ Ordered step 0 of section 57
+~ Ordered step 1 of section 57
+~ Ordered step 2 of section 57
+~ Ordered step 3 of section 57
+
+> Quoted wisdom number 57 about parsing performance.
+
+** Section 58
+
+blocks with *bold* /italic/ and `verbatim` runs scattered
+with bold italic and verbatim runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+
+- (?) Task 58.0 for the agenda scanner
+-- ( ) nested item under 58.0
+- (!) Task 58.1 for the agenda scanner
+- (+) Task 58.2 for the agenda scanner
+- (-) Task 58.3 for the agenda scanner
+-- (!) nested item under 58.3
+- (=) Task 58.4 for the agenda scanner
+- (_) Task 58.5 for the agenda scanner
+
+~ Ordered step 0 of section 58
+~ Ordered step 1 of section 58
+~ Ordered step 2 of section 58
+~ Ordered step 3 of section 58
+
+> Quoted wisdom number 58 about parsing performance.
+
+** Section 59
+
+with *bold* /italic/ and `verbatim` runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+
+- (!) Task 59.0 for the agenda scanner
+-- ( ) nested item under 59.0
+- (+) Task 59.1 for the agenda scanner
+- (-) Task 59.2 for the agenda scanner
+- (=) Task 59.3 for the agenda scanner
+-- (!) nested item under 59.3
+- (_) Task 59.4 for the agenda scanner
+- ( ) Task 59.5 for the agenda scanner
+
+~ Ordered step 0 of section 59
+~ Ordered step 1 of section 59
+~ Ordered step 2 of section 59
+~ Ordered step 3 of section 59
+
+> Quoted wisdom number 59 about parsing performance.
+
+** Section 60
+
+*bold* /italic/ and `verbatim` runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+
+- (+) Task 60.0 for the agenda scanner
+-- ( ) nested item under 60.0
+- (-) Task 60.1 for the agenda scanner
+- (=) Task 60.2 for the agenda scanner
+- (_) Task 60.3 for the agenda scanner
+-- (!) nested item under 60.3
+- ( ) Task 60.4 for the agenda scanner
+- (x) Task 60.5 for the agenda scanner
+
+~ Ordered step 0 of section 60
+~ Ordered step 1 of section 60
+~ Ordered step 2 of section 60
+~ Ordered step 3 of section 60
+
+> Quoted wisdom number 60 about parsing performance.
+
+@code swift
+let section60 = NorgParser.parse(source) // 60
+print(section60.blocks.count)
+@end
+
+___
+
+** Section 61
+
+/italic/ and `verbatim` runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+
+- (-) Task 61.0 for the agenda scanner
+-- ( ) nested item under 61.0
+- (=) Task 61.1 for the agenda scanner
+- (_) Task 61.2 for the agenda scanner
+- ( ) Task 61.3 for the agenda scanner
+-- (!) nested item under 61.3
+- (x) Task 61.4 for the agenda scanner
+- (?) Task 61.5 for the agenda scanner
+
+~ Ordered step 0 of section 61
+~ Ordered step 1 of section 61
+~ Ordered step 2 of section 61
+~ Ordered step 3 of section 61
+
+> Quoted wisdom number 61 about parsing performance.
+
+** Section 62
+
+and `verbatim` runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+runs scattered throughout the prose
+
+- (=) Task 62.0 for the agenda scanner
+-- ( ) nested item under 62.0
+- (_) Task 62.1 for the agenda scanner
+- ( ) Task 62.2 for the agenda scanner
+- (x) Task 62.3 for the agenda scanner
+-- (!) nested item under 62.3
+- (?) Task 62.4 for the agenda scanner
+- (!) Task 62.5 for the agenda scanner
+
+~ Ordered step 0 of section 62
+~ Ordered step 1 of section 62
+~ Ordered step 2 of section 62
+~ Ordered step 3 of section 62
+
+> Quoted wisdom number 62 about parsing performance.
+
+** Section 63
+
+`verbatim` runs scattered throughout the prose
+runs scattered throughout the prose
+scattered throughout the prose
+
+- (_) Task 63.0 for the agenda scanner
+-- ( ) nested item under 63.0
+- ( ) Task 63.1 for the agenda scanner
+- (x) Task 63.2 for the agenda scanner
+- (?) Task 63.3 for the agenda scanner
+-- (!) nested item under 63.3
+- (!) Task 63.4 for the agenda scanner
+- (+) Task 63.5 for the agenda scanner
+
+~ Ordered step 0 of section 63
+~ Ordered step 1 of section 63
+~ Ordered step 2 of section 63
+~ Ordered step 3 of section 63
+
+> Quoted wisdom number 63 about parsing performance.
+
+@math
+\sum_{i=0}^{63} i = \frac{63(63+1)}{2}
+@end
+
+** Section 64
+
+runs scattered throughout the prose
+scattered throughout the prose
+throughout the prose
+
+- ( ) Task 64.0 for the agenda scanner
+-- ( ) nested item under 64.0
+- (x) Task 64.1 for the agenda scanner
+- (?) Task 64.2 for the agenda scanner
+- (!) Task 64.3 for the agenda scanner
+-- (!) nested item under 64.3
+- (+) Task 64.4 for the agenda scanner
+- (-) Task 64.5 for the agenda scanner
+
+~ Ordered step 0 of section 64
+~ Ordered step 1 of section 64
+~ Ordered step 2 of section 64
+~ Ordered step 3 of section 64
+
+> Quoted wisdom number 64 about parsing performance.
+
+@code swift
+let section64 = NorgParser.parse(source) // 64
+print(section64.blocks.count)
+@end
+
+** Section 65
+
+scattered throughout the prose
+throughout the prose
+the prose
+
+- (x) Task 65.0 for the agenda scanner
+-- ( ) nested item under 65.0
+- (?) Task 65.1 for the agenda scanner
+- (!) Task 65.2 for the agenda scanner
+- (+) Task 65.3 for the agenda scanner
+-- (!) nested item under 65.3
+- (-) Task 65.4 for the agenda scanner
+- (=) Task 65.5 for the agenda scanner
+
+~ Ordered step 0 of section 65
+~ Ordered step 1 of section 65
+~ Ordered step 2 of section 65
+~ Ordered step 3 of section 65
+
+> Quoted wisdom number 65 about parsing performance.
+
+___
+
+** Section 66
+
+throughout the prose
+the prose
+prose
+
+- (?) Task 66.0 for the agenda scanner
+-- ( ) nested item under 66.0
+- (!) Task 66.1 for the agenda scanner
+- (+) Task 66.2 for the agenda scanner
+- (-) Task 66.3 for the agenda scanner
+-- (!) nested item under 66.3
+- (=) Task 66.4 for the agenda scanner
+- (_) Task 66.5 for the agenda scanner
+
+~ Ordered step 0 of section 66
+~ Ordered step 1 of section 66
+~ Ordered step 2 of section 66
+~ Ordered step 3 of section 66
+
+> Quoted wisdom number 66 about parsing performance.
+
+** Section 67
+
+the prose
+prose
+the quick brown fox jumps over a lazy
+
+- (!) Task 67.0 for the agenda scanner
+-- ( ) nested item under 67.0
+- (+) Task 67.1 for the agenda scanner
+- (-) Task 67.2 for the agenda scanner
+- (=) Task 67.3 for the agenda scanner
+-- (!) nested item under 67.3
+- (_) Task 67.4 for the agenda scanner
+- ( ) Task 67.5 for the agenda scanner
+
+~ Ordered step 0 of section 67
+~ Ordered step 1 of section 67
+~ Ordered step 2 of section 67
+~ Ordered step 3 of section 67
+
+> Quoted wisdom number 67 about parsing performance.
+
+** Section 68
+
+prose
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+
+- (+) Task 68.0 for the agenda scanner
+-- ( ) nested item under 68.0
+- (-) Task 68.1 for the agenda scanner
+- (=) Task 68.2 for the agenda scanner
+- (_) Task 68.3 for the agenda scanner
+-- (!) nested item under 68.3
+- ( ) Task 68.4 for the agenda scanner
+- (x) Task 68.5 for the agenda scanner
+
+~ Ordered step 0 of section 68
+~ Ordered step 1 of section 68
+~ Ordered step 2 of section 68
+~ Ordered step 3 of section 68
+
+> Quoted wisdom number 68 about parsing performance.
+
+@code swift
+let section68 = NorgParser.parse(source) // 68
+print(section68.blocks.count)
+@end
+
+** Section 69
+
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+
+- (-) Task 69.0 for the agenda scanner
+-- ( ) nested item under 69.0
+- (=) Task 69.1 for the agenda scanner
+- (_) Task 69.2 for the agenda scanner
+- ( ) Task 69.3 for the agenda scanner
+-- (!) nested item under 69.3
+- (x) Task 69.4 for the agenda scanner
+- (?) Task 69.5 for the agenda scanner
+
+~ Ordered step 0 of section 69
+~ Ordered step 1 of section 69
+~ Ordered step 2 of section 69
+~ Ordered step 3 of section 69
+
+> Quoted wisdom number 69 about parsing performance.
+
+** Section 70
+
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+
+- (=) Task 70.0 for the agenda scanner
+-- ( ) nested item under 70.0
+- (_) Task 70.1 for the agenda scanner
+- ( ) Task 70.2 for the agenda scanner
+- (x) Task 70.3 for the agenda scanner
+-- (!) nested item under 70.3
+- (?) Task 70.4 for the agenda scanner
+- (!) Task 70.5 for the agenda scanner
+
+~ Ordered step 0 of section 70
+~ Ordered step 1 of section 70
+~ Ordered step 2 of section 70
+~ Ordered step 3 of section 70
+
+> Quoted wisdom number 70 about parsing performance.
+
+@math
+\sum_{i=0}^{70} i = \frac{70(70+1)}{2}
+@end
+
+___
+
+** Section 71
+
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+
+- (_) Task 71.0 for the agenda scanner
+-- ( ) nested item under 71.0
+- ( ) Task 71.1 for the agenda scanner
+- (x) Task 71.2 for the agenda scanner
+- (?) Task 71.3 for the agenda scanner
+-- (!) nested item under 71.3
+- (!) Task 71.4 for the agenda scanner
+- (+) Task 71.5 for the agenda scanner
+
+~ Ordered step 0 of section 71
+~ Ordered step 1 of section 71
+~ Ordered step 2 of section 71
+~ Ordered step 3 of section 71
+
+> Quoted wisdom number 71 about parsing performance.
+
+** Section 72
+
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+
+- ( ) Task 72.0 for the agenda scanner
+-- ( ) nested item under 72.0
+- (x) Task 72.1 for the agenda scanner
+- (?) Task 72.2 for the agenda scanner
+- (!) Task 72.3 for the agenda scanner
+-- (!) nested item under 72.3
+- (+) Task 72.4 for the agenda scanner
+- (-) Task 72.5 for the agenda scanner
+
+~ Ordered step 0 of section 72
+~ Ordered step 1 of section 72
+~ Ordered step 2 of section 72
+~ Ordered step 3 of section 72
+
+> Quoted wisdom number 72 about parsing performance.
+
+@code swift
+let section72 = NorgParser.parse(source) // 72
+print(section72.blocks.count)
+@end
+
+** Section 73
+
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+
+- (x) Task 73.0 for the agenda scanner
+-- ( ) nested item under 73.0
+- (?) Task 73.1 for the agenda scanner
+- (!) Task 73.2 for the agenda scanner
+- (+) Task 73.3 for the agenda scanner
+-- (!) nested item under 73.3
+- (-) Task 73.4 for the agenda scanner
+- (=) Task 73.5 for the agenda scanner
+
+~ Ordered step 0 of section 73
+~ Ordered step 1 of section 73
+~ Ordered step 2 of section 73
+~ Ordered step 3 of section 73
+
+> Quoted wisdom number 73 about parsing performance.
+
+** Section 74
+
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+
+- (?) Task 74.0 for the agenda scanner
+-- ( ) nested item under 74.0
+- (!) Task 74.1 for the agenda scanner
+- (+) Task 74.2 for the agenda scanner
+- (-) Task 74.3 for the agenda scanner
+-- (!) nested item under 74.3
+- (=) Task 74.4 for the agenda scanner
+- (_) Task 74.5 for the agenda scanner
+
+~ Ordered step 0 of section 74
+~ Ordered step 1 of section 74
+~ Ordered step 2 of section 74
+~ Ordered step 3 of section 74
+
+> Quoted wisdom number 74 about parsing performance.
+
+** Section 75
+
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+dog while parsing norg blocks with bold italic
+
+- (!) Task 75.0 for the agenda scanner
+-- ( ) nested item under 75.0
+- (+) Task 75.1 for the agenda scanner
+- (-) Task 75.2 for the agenda scanner
+- (=) Task 75.3 for the agenda scanner
+-- (!) nested item under 75.3
+- (_) Task 75.4 for the agenda scanner
+- ( ) Task 75.5 for the agenda scanner
+
+~ Ordered step 0 of section 75
+~ Ordered step 1 of section 75
+~ Ordered step 2 of section 75
+~ Ordered step 3 of section 75
+
+> Quoted wisdom number 75 about parsing performance.
+
+___
+
+** Section 76
+
+lazy dog while parsing norg blocks with *bold*
+dog while parsing norg blocks with bold italic
+while parsing norg blocks with bold italic and
+
+- (+) Task 76.0 for the agenda scanner
+-- ( ) nested item under 76.0
+- (-) Task 76.1 for the agenda scanner
+- (=) Task 76.2 for the agenda scanner
+- (_) Task 76.3 for the agenda scanner
+-- (!) nested item under 76.3
+- ( ) Task 76.4 for the agenda scanner
+- (x) Task 76.5 for the agenda scanner
+
+~ Ordered step 0 of section 76
+~ Ordered step 1 of section 76
+~ Ordered step 2 of section 76
+~ Ordered step 3 of section 76
+
+> Quoted wisdom number 76 about parsing performance.
+
+@code swift
+let section76 = NorgParser.parse(source) // 76
+print(section76.blocks.count)
+@end
+
+** Section 77
+
+dog while parsing norg blocks with *bold* /italic/
+while parsing norg blocks with bold italic and
+parsing norg blocks with bold italic and verbatim
+
+- (-) Task 77.0 for the agenda scanner
+-- ( ) nested item under 77.0
+- (=) Task 77.1 for the agenda scanner
+- (_) Task 77.2 for the agenda scanner
+- ( ) Task 77.3 for the agenda scanner
+-- (!) nested item under 77.3
+- (x) Task 77.4 for the agenda scanner
+- (?) Task 77.5 for the agenda scanner
+
+~ Ordered step 0 of section 77
+~ Ordered step 1 of section 77
+~ Ordered step 2 of section 77
+~ Ordered step 3 of section 77
+
+> Quoted wisdom number 77 about parsing performance.
+
+@math
+\sum_{i=0}^{77} i = \frac{77(77+1)}{2}
+@end
+
+** Section 78
+
+while parsing norg blocks with *bold* /italic/ and
+parsing norg blocks with bold italic and verbatim
+norg blocks with bold italic and verbatim runs
+
+- (=) Task 78.0 for the agenda scanner
+-- ( ) nested item under 78.0
+- (_) Task 78.1 for the agenda scanner
+- ( ) Task 78.2 for the agenda scanner
+- (x) Task 78.3 for the agenda scanner
+-- (!) nested item under 78.3
+- (?) Task 78.4 for the agenda scanner
+- (!) Task 78.5 for the agenda scanner
+
+~ Ordered step 0 of section 78
+~ Ordered step 1 of section 78
+~ Ordered step 2 of section 78
+~ Ordered step 3 of section 78
+
+> Quoted wisdom number 78 about parsing performance.
+
+** Section 79
+
+parsing norg blocks with *bold* /italic/ and `verbatim`
+norg blocks with bold italic and verbatim runs
+blocks with bold italic and verbatim runs scattered
+
+- (_) Task 79.0 for the agenda scanner
+-- ( ) nested item under 79.0
+- ( ) Task 79.1 for the agenda scanner
+- (x) Task 79.2 for the agenda scanner
+- (?) Task 79.3 for the agenda scanner
+-- (!) nested item under 79.3
+- (!) Task 79.4 for the agenda scanner
+- (+) Task 79.5 for the agenda scanner
+
+~ Ordered step 0 of section 79
+~ Ordered step 1 of section 79
+~ Ordered step 2 of section 79
+~ Ordered step 3 of section 79
+
+> Quoted wisdom number 79 about parsing performance.
+
+** Section 80
+
+norg blocks with *bold* /italic/ and `verbatim` runs
+blocks with bold italic and verbatim runs scattered
+with bold italic and verbatim runs scattered throughout
+
+- ( ) Task 80.0 for the agenda scanner
+-- ( ) nested item under 80.0
+- (x) Task 80.1 for the agenda scanner
+- (?) Task 80.2 for the agenda scanner
+- (!) Task 80.3 for the agenda scanner
+-- (!) nested item under 80.3
+- (+) Task 80.4 for the agenda scanner
+- (-) Task 80.5 for the agenda scanner
+
+~ Ordered step 0 of section 80
+~ Ordered step 1 of section 80
+~ Ordered step 2 of section 80
+~ Ordered step 3 of section 80
+
+> Quoted wisdom number 80 about parsing performance.
+
+@code swift
+let section80 = NorgParser.parse(source) // 80
+print(section80.blocks.count)
+@end
+
+___
+
+** Section 81
+
+blocks with *bold* /italic/ and `verbatim` runs scattered
+with bold italic and verbatim runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+
+- (x) Task 81.0 for the agenda scanner
+-- ( ) nested item under 81.0
+- (?) Task 81.1 for the agenda scanner
+- (!) Task 81.2 for the agenda scanner
+- (+) Task 81.3 for the agenda scanner
+-- (!) nested item under 81.3
+- (-) Task 81.4 for the agenda scanner
+- (=) Task 81.5 for the agenda scanner
+
+~ Ordered step 0 of section 81
+~ Ordered step 1 of section 81
+~ Ordered step 2 of section 81
+~ Ordered step 3 of section 81
+
+> Quoted wisdom number 81 about parsing performance.
+
+** Section 82
+
+with *bold* /italic/ and `verbatim` runs scattered throughout
+bold italic and verbatim runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+
+- (?) Task 82.0 for the agenda scanner
+-- ( ) nested item under 82.0
+- (!) Task 82.1 for the agenda scanner
+- (+) Task 82.2 for the agenda scanner
+- (-) Task 82.3 for the agenda scanner
+-- (!) nested item under 82.3
+- (=) Task 82.4 for the agenda scanner
+- (_) Task 82.5 for the agenda scanner
+
+~ Ordered step 0 of section 82
+~ Ordered step 1 of section 82
+~ Ordered step 2 of section 82
+~ Ordered step 3 of section 82
+
+> Quoted wisdom number 82 about parsing performance.
+
+** Section 83
+
+*bold* /italic/ and `verbatim` runs scattered throughout the
+italic and verbatim runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+
+- (!) Task 83.0 for the agenda scanner
+-- ( ) nested item under 83.0
+- (+) Task 83.1 for the agenda scanner
+- (-) Task 83.2 for the agenda scanner
+- (=) Task 83.3 for the agenda scanner
+-- (!) nested item under 83.3
+- (_) Task 83.4 for the agenda scanner
+- ( ) Task 83.5 for the agenda scanner
+
+~ Ordered step 0 of section 83
+~ Ordered step 1 of section 83
+~ Ordered step 2 of section 83
+~ Ordered step 3 of section 83
+
+> Quoted wisdom number 83 about parsing performance.
+
+** Section 84
+
+/italic/ and `verbatim` runs scattered throughout the prose
+and verbatim runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+
+- (+) Task 84.0 for the agenda scanner
+-- ( ) nested item under 84.0
+- (-) Task 84.1 for the agenda scanner
+- (=) Task 84.2 for the agenda scanner
+- (_) Task 84.3 for the agenda scanner
+-- (!) nested item under 84.3
+- ( ) Task 84.4 for the agenda scanner
+- (x) Task 84.5 for the agenda scanner
+
+~ Ordered step 0 of section 84
+~ Ordered step 1 of section 84
+~ Ordered step 2 of section 84
+~ Ordered step 3 of section 84
+
+> Quoted wisdom number 84 about parsing performance.
+
+@code swift
+let section84 = NorgParser.parse(source) // 84
+print(section84.blocks.count)
+@end
+
+@math
+\sum_{i=0}^{84} i = \frac{84(84+1)}{2}
+@end
+
+** Section 85
+
+and `verbatim` runs scattered throughout the prose
+verbatim runs scattered throughout the prose
+runs scattered throughout the prose
+
+- (-) Task 85.0 for the agenda scanner
+-- ( ) nested item under 85.0
+- (=) Task 85.1 for the agenda scanner
+- (_) Task 85.2 for the agenda scanner
+- ( ) Task 85.3 for the agenda scanner
+-- (!) nested item under 85.3
+- (x) Task 85.4 for the agenda scanner
+- (?) Task 85.5 for the agenda scanner
+
+~ Ordered step 0 of section 85
+~ Ordered step 1 of section 85
+~ Ordered step 2 of section 85
+~ Ordered step 3 of section 85
+
+> Quoted wisdom number 85 about parsing performance.
+
+___
+
+** Section 86
+
+`verbatim` runs scattered throughout the prose
+runs scattered throughout the prose
+scattered throughout the prose
+
+- (=) Task 86.0 for the agenda scanner
+-- ( ) nested item under 86.0
+- (_) Task 86.1 for the agenda scanner
+- ( ) Task 86.2 for the agenda scanner
+- (x) Task 86.3 for the agenda scanner
+-- (!) nested item under 86.3
+- (?) Task 86.4 for the agenda scanner
+- (!) Task 86.5 for the agenda scanner
+
+~ Ordered step 0 of section 86
+~ Ordered step 1 of section 86
+~ Ordered step 2 of section 86
+~ Ordered step 3 of section 86
+
+> Quoted wisdom number 86 about parsing performance.
+
+** Section 87
+
+runs scattered throughout the prose
+scattered throughout the prose
+throughout the prose
+
+- (_) Task 87.0 for the agenda scanner
+-- ( ) nested item under 87.0
+- ( ) Task 87.1 for the agenda scanner
+- (x) Task 87.2 for the agenda scanner
+- (?) Task 87.3 for the agenda scanner
+-- (!) nested item under 87.3
+- (!) Task 87.4 for the agenda scanner
+- (+) Task 87.5 for the agenda scanner
+
+~ Ordered step 0 of section 87
+~ Ordered step 1 of section 87
+~ Ordered step 2 of section 87
+~ Ordered step 3 of section 87
+
+> Quoted wisdom number 87 about parsing performance.
+
+** Section 88
+
+scattered throughout the prose
+throughout the prose
+the prose
+
+- ( ) Task 88.0 for the agenda scanner
+-- ( ) nested item under 88.0
+- (x) Task 88.1 for the agenda scanner
+- (?) Task 88.2 for the agenda scanner
+- (!) Task 88.3 for the agenda scanner
+-- (!) nested item under 88.3
+- (+) Task 88.4 for the agenda scanner
+- (-) Task 88.5 for the agenda scanner
+
+~ Ordered step 0 of section 88
+~ Ordered step 1 of section 88
+~ Ordered step 2 of section 88
+~ Ordered step 3 of section 88
+
+> Quoted wisdom number 88 about parsing performance.
+
+@code swift
+let section88 = NorgParser.parse(source) // 88
+print(section88.blocks.count)
+@end
+
+** Section 89
+
+throughout the prose
+the prose
+prose
+
+- (x) Task 89.0 for the agenda scanner
+-- ( ) nested item under 89.0
+- (?) Task 89.1 for the agenda scanner
+- (!) Task 89.2 for the agenda scanner
+- (+) Task 89.3 for the agenda scanner
+-- (!) nested item under 89.3
+- (-) Task 89.4 for the agenda scanner
+- (=) Task 89.5 for the agenda scanner
+
+~ Ordered step 0 of section 89
+~ Ordered step 1 of section 89
+~ Ordered step 2 of section 89
+~ Ordered step 3 of section 89
+
+> Quoted wisdom number 89 about parsing performance.
+
+** Section 90
+
+the prose
+prose
+the quick brown fox jumps over a lazy
+
+- (?) Task 90.0 for the agenda scanner
+-- ( ) nested item under 90.0
+- (!) Task 90.1 for the agenda scanner
+- (+) Task 90.2 for the agenda scanner
+- (-) Task 90.3 for the agenda scanner
+-- (!) nested item under 90.3
+- (=) Task 90.4 for the agenda scanner
+- (_) Task 90.5 for the agenda scanner
+
+~ Ordered step 0 of section 90
+~ Ordered step 1 of section 90
+~ Ordered step 2 of section 90
+~ Ordered step 3 of section 90
+
+> Quoted wisdom number 90 about parsing performance.
+
+___
+
+** Section 91
+
+prose
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+
+- (!) Task 91.0 for the agenda scanner
+-- ( ) nested item under 91.0
+- (+) Task 91.1 for the agenda scanner
+- (-) Task 91.2 for the agenda scanner
+- (=) Task 91.3 for the agenda scanner
+-- (!) nested item under 91.3
+- (_) Task 91.4 for the agenda scanner
+- ( ) Task 91.5 for the agenda scanner
+
+~ Ordered step 0 of section 91
+~ Ordered step 1 of section 91
+~ Ordered step 2 of section 91
+~ Ordered step 3 of section 91
+
+> Quoted wisdom number 91 about parsing performance.
+
+@math
+\sum_{i=0}^{91} i = \frac{91(91+1)}{2}
+@end
+
+** Section 92
+
+the quick brown fox jumps over a lazy
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+
+- (+) Task 92.0 for the agenda scanner
+-- ( ) nested item under 92.0
+- (-) Task 92.1 for the agenda scanner
+- (=) Task 92.2 for the agenda scanner
+- (_) Task 92.3 for the agenda scanner
+-- (!) nested item under 92.3
+- ( ) Task 92.4 for the agenda scanner
+- (x) Task 92.5 for the agenda scanner
+
+~ Ordered step 0 of section 92
+~ Ordered step 1 of section 92
+~ Ordered step 2 of section 92
+~ Ordered step 3 of section 92
+
+> Quoted wisdom number 92 about parsing performance.
+
+@code swift
+let section92 = NorgParser.parse(source) // 92
+print(section92.blocks.count)
+@end
+
+** Section 93
+
+quick brown fox jumps over a lazy dog
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+
+- (-) Task 93.0 for the agenda scanner
+-- ( ) nested item under 93.0
+- (=) Task 93.1 for the agenda scanner
+- (_) Task 93.2 for the agenda scanner
+- ( ) Task 93.3 for the agenda scanner
+-- (!) nested item under 93.3
+- (x) Task 93.4 for the agenda scanner
+- (?) Task 93.5 for the agenda scanner
+
+~ Ordered step 0 of section 93
+~ Ordered step 1 of section 93
+~ Ordered step 2 of section 93
+~ Ordered step 3 of section 93
+
+> Quoted wisdom number 93 about parsing performance.
+
+** Section 94
+
+brown fox jumps over a lazy dog while
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+
+- (=) Task 94.0 for the agenda scanner
+-- ( ) nested item under 94.0
+- (_) Task 94.1 for the agenda scanner
+- ( ) Task 94.2 for the agenda scanner
+- (x) Task 94.3 for the agenda scanner
+-- (!) nested item under 94.3
+- (?) Task 94.4 for the agenda scanner
+- (!) Task 94.5 for the agenda scanner
+
+~ Ordered step 0 of section 94
+~ Ordered step 1 of section 94
+~ Ordered step 2 of section 94
+~ Ordered step 3 of section 94
+
+> Quoted wisdom number 94 about parsing performance.
+
+** Section 95
+
+fox jumps over a lazy dog while parsing
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+
+- (_) Task 95.0 for the agenda scanner
+-- ( ) nested item under 95.0
+- ( ) Task 95.1 for the agenda scanner
+- (x) Task 95.2 for the agenda scanner
+- (?) Task 95.3 for the agenda scanner
+-- (!) nested item under 95.3
+- (!) Task 95.4 for the agenda scanner
+- (+) Task 95.5 for the agenda scanner
+
+~ Ordered step 0 of section 95
+~ Ordered step 1 of section 95
+~ Ordered step 2 of section 95
+~ Ordered step 3 of section 95
+
+> Quoted wisdom number 95 about parsing performance.
+
+___
+
+** Section 96
+
+jumps over a lazy dog while parsing norg
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+
+- ( ) Task 96.0 for the agenda scanner
+-- ( ) nested item under 96.0
+- (x) Task 96.1 for the agenda scanner
+- (?) Task 96.2 for the agenda scanner
+- (!) Task 96.3 for the agenda scanner
+-- (!) nested item under 96.3
+- (+) Task 96.4 for the agenda scanner
+- (-) Task 96.5 for the agenda scanner
+
+~ Ordered step 0 of section 96
+~ Ordered step 1 of section 96
+~ Ordered step 2 of section 96
+~ Ordered step 3 of section 96
+
+> Quoted wisdom number 96 about parsing performance.
+
+@code swift
+let section96 = NorgParser.parse(source) // 96
+print(section96.blocks.count)
+@end
+
+** Section 97
+
+over a lazy dog while parsing norg blocks
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+
+- (x) Task 97.0 for the agenda scanner
+-- ( ) nested item under 97.0
+- (?) Task 97.1 for the agenda scanner
+- (!) Task 97.2 for the agenda scanner
+- (+) Task 97.3 for the agenda scanner
+-- (!) nested item under 97.3
+- (-) Task 97.4 for the agenda scanner
+- (=) Task 97.5 for the agenda scanner
+
+~ Ordered step 0 of section 97
+~ Ordered step 1 of section 97
+~ Ordered step 2 of section 97
+~ Ordered step 3 of section 97
+
+> Quoted wisdom number 97 about parsing performance.
+
+** Section 98
+
+a lazy dog while parsing norg blocks with
+lazy dog while parsing norg blocks with bold
+dog while parsing norg blocks with bold italic
+
+- (?) Task 98.0 for the agenda scanner
+-- ( ) nested item under 98.0
+- (!) Task 98.1 for the agenda scanner
+- (+) Task 98.2 for the agenda scanner
+- (-) Task 98.3 for the agenda scanner
+-- (!) nested item under 98.3
+- (=) Task 98.4 for the agenda scanner
+- (_) Task 98.5 for the agenda scanner
+
+~ Ordered step 0 of section 98
+~ Ordered step 1 of section 98
+~ Ordered step 2 of section 98
+~ Ordered step 3 of section 98
+
+> Quoted wisdom number 98 about parsing performance.
+
+@math
+\sum_{i=0}^{98} i = \frac{98(98+1)}{2}
+@end
+
+** Section 99
+
+lazy dog while parsing norg blocks with *bold*
+dog while parsing norg blocks with bold italic
+while parsing norg blocks with bold italic and
+
+- (!) Task 99.0 for the agenda scanner
+-- ( ) nested item under 99.0
+- (+) Task 99.1 for the agenda scanner
+- (-) Task 99.2 for the agenda scanner
+- (=) Task 99.3 for the agenda scanner
+-- (!) nested item under 99.3
+- (_) Task 99.4 for the agenda scanner
+- ( ) Task 99.5 for the agenda scanner
+
+~ Ordered step 0 of section 99
+~ Ordered step 1 of section 99
+~ Ordered step 2 of section 99
+~ Ordered step 3 of section 99
+
+> Quoted wisdom number 99 about parsing performance.
+
+** Section 100
+
+dog while parsing norg blocks with *bold* /italic/
+while parsing norg blocks with bold italic and
+parsing norg blocks with bold italic and verbatim
+
+- (+) Task 100.0 for the agenda scanner
+-- ( ) nested item under 100.0
+- (-) Task 100.1 for the agenda scanner
+- (=) Task 100.2 for the agenda scanner
+- (_) Task 100.3 for the agenda scanner
+-- (!) nested item under 100.3
+- ( ) Task 100.4 for the agenda scanner
+- (x) Task 100.5 for the agenda scanner
+
+~ Ordered step 0 of section 100
+~ Ordered step 1 of section 100
+~ Ordered step 2 of section 100
+~ Ordered step 3 of section 100
+
+> Quoted wisdom number 100 about parsing performance.
+
+@code swift
+let section100 = NorgParser.parse(source) // 100
+print(section100.blocks.count)
+@end
+
+___
+
+** Section 101
+
+while parsing norg blocks with *bold* /italic/ and
+parsing norg blocks with bold italic and verbatim
+norg blocks with bold italic and verbatim runs
+
+- (-) Task 101.0 for the agenda scanner
+-- ( ) nested item under 101.0
+- (=) Task 101.1 for the agenda scanner
+- (_) Task 101.2 for the agenda scanner
+- ( ) Task 101.3 for the agenda scanner
+-- (!) nested item under 101.3
+- (x) Task 101.4 for the agenda scanner
+- (?) Task 101.5 for the agenda scanner
+
+~ Ordered step 0 of section 101
+~ Ordered step 1 of section 101
+~ Ordered step 2 of section 101
+~ Ordered step 3 of section 101
+
+> Quoted wisdom number 101 about parsing performance.
+
+** Section 102
+
+parsing norg blocks with *bold* /italic/ and `verbatim`
+norg blocks with bold italic and verbatim runs
+blocks with bold italic and verbatim runs scattered
+
+- (=) Task 102.0 for the agenda scanner
+-- ( ) nested item under 102.0
+- (_) Task 102.1 for the agenda scanner
+- ( ) Task 102.2 for the agenda scanner
+- (x) Task 102.3 for the agenda scanner
+-- (!) nested item under 102.3
+- (?) Task 102.4 for the agenda scanner
+- (!) Task 102.5 for the agenda scanner
+
+~ Ordered step 0 of section 102
+~ Ordered step 1 of section 102
+~ Ordered step 2 of section 102
+~ Ordered step 3 of section 102
+
+> Quoted wisdom number 102 about parsing performance.
+