 
     /// Parse next document and return root Node.
     ///
-    /// - Returns: next Node
-    /// - Throws: YamlError
+    /// - returns: next Node.
+    ///
+    /// - throws: `YamlError`.
     public func nextRoot() throws -> Node? {
         guard !streamEndProduced, try parse().type != YAML_STREAM_END_EVENT else { return nil }
         return try loadDocument()
     }
 
+    /// Parses the document expecting a single root Node and returns it.
+    ///
+    /// - returns: Single root Node.
+    ///
+    /// - throws: `YamlError`.
     public func singleRoot() throws -> Node? {
         guard !streamEndProduced, try parse().type != YAML_STREAM_END_EVENT else { return nil }
         let node = try loadDocument()

        return node
    }

    // MARK: private
    private var anchors = [String: Node]()
    private var parser = yaml_parser_t()
#if USE_UTF8

#endif
}

// MARK: Implementation Details
private extension Parser {
    private var streamEndProduced: Bool {
        return parser.stream_end_produced != 0
