HTree.String has some convenience functions for dealing with outlines and trees whose nodes are labeled by strings.
Compute the string representation of a tree labeled by strings
> t = parse o2toString t
"*\nA\n p\n q\nB\n r\n s\nC"Compute the string representation of a tree labeled by strings; omit the root label
> toOutline t
"A\n p\n q\nB\n r\n s\nC"Compute the level of a string: the number of leading spaces, divided by 2