/// A fully parsed Norg document. public struct NorgDocument: Equatable, Hashable, Sendable, Codable { /// The parsed blocks, as a flat list. public var blocks: [NorgBlock] /// Given an array of parsed blocks, create a document. public init(blocks: [NorgBlock] = []) { self.blocks = blocks } /// Converts the flat document into a tree. public func tree() -> [NorgNode] { TreeFolder(blocks).fold() } }