Data.Type.Zipper
data Zipper a
type family FromList xs :: Zipper k
type family Extract zipper :: k
type family Replace zipper with :: Zipper k
type family ToList zipper :: [k]
type family Left by zipper :: Zipper k
type family Right by zipper :: Zipper k