-- | @endp z@ returns @True@ if the zipper is at the end.
-- It is not safe to call @cursor@ on @z@ if @endp z@ returns @True@.
endp :: Zipper a -> Bool
endp   (Zip _  []) = True
endp :: Zipper a -> Bool
endp   (Zip _  []) = True
endp   (Zip _  []) = True