-- Note that lack of Sized constraint forces this to be a
-- size-preserving adjustment.
adjust :: (a -> a) -> Breadth -> Node a -> Node a
adjust f i (Node s v) = Node s (v V.// [(i, f (v V.! i))])
adjust :: (a -> a) -> Breadth -> Node a -> Node a
adjust f i (Node s v) = Node s (v V.// [(i, f (v V.! i))])
adjust f i (Node s v) = Node s (v V.// [(i, f (v V.! i))])