seal :: (Monad cx) => String -> V cx -> cx (V cx)
seal s (P v e) = return (P (S s v) e)
seal :: (Monad cx) => String -> V cx -> cx (V cx)
seal s (P v e) = return (P (S s v) e)
seal s (P v e) = return (P (S s v) e)