Output:
PROC [
ctrl, data: FileWriter.Ref, node: TiogaNode.Ref,
contents: TiogaNode.Ref ← NIL, children: TiogaNode.RefBranchNode ← NIL]
RETURNS [flags: CHAR];
The contents and children args are not usually used. If they are nonNIL, they are output instead of the actual contents/children of the node.
For example, consider implementation for branch children from another file. When create internal rep, load the other file, move first level children to be children of existing branch node, and save the root node on the property list of the branch node. When output the branch node, call Output with the saved root and the children.