I've added annotations on nodes anchors - annotations are made on tree nodes before the tree is drawn. During the rendering process the annotation is placed correctly w.r.t. the node.
tree2 :: (Real u, Floating u, FromPtSize u) => TreeBuild u (ZTreeSpec u) tree2 = do special <- nodeId $ dotText "a" rightmost <- nodeId $ dotText "z" annotate rightmost (\ancr -> textline "....anno" `at` southeast ancr ) let bs = [zleaf, zleaf, zleaf] let gs = [zleaf, zleaf, leaf $ rightmost ] return $ branch special [zbranch bs, zleaf, zbranch gs]
Here's the picture: