vl2Algebra :: VirtualSegmentAlgebra a
           => NodeMap VSL.TVSL
           -> Shape V.DVec
           -> B.Build a (Shape (VSLDVec a))
vl2Algebra vlNodes plan = runVecBuild $ do
    mapM_ (translate vlNodes) roots
    refreshShape plan
  where
    roots :: [AlgNode]
    roots = shapeNodes plan
vl2Algebra :: VirtualSegmentAlgebra a
           => NodeMap VSL.TVSL
           -> Shape V.DVec
           -> B.Build a (Shape (VSLDVec a))
vl2Algebra vlNodes plan = runVecBuild $ do
    mapM_ (translate vlNodes) roots
    refreshShape plan
  where
    roots :: [AlgNode]
    roots = shapeNodes plan
vl2Algebra vlNodes plan = runVecBuild $ do
    mapM_ (translate vlNodes) roots
    refreshShape plan
  where
    roots :: [AlgNode]
    roots = shapeNodes plan