-- | @cursor z@ returns the targeted element in @z@.
--
-- This function is not total, but the invariant is that
-- @endp z == False@ means that you can safely call
-- @cursor z@.
cursor :: Zipper a -> a
cursor (Zip _ (a:_)) = a
cursor :: Zipper a -> a
cursor (Zip _ (a:_)) = a
cursor (Zip _ (a:_)) = a