@@ -89,3 +89,8 @@ type family Take (c :: N) (s :: [k]) :: [k] where
89 Take 'Z s = '[]
89 Take 'Z s = '[]
90 Take ('S c) '[] = '[]
90 Take ('S c) '[] = '[]
91 Take ('S c) (a ': as) = a ': (Take c as)
91 Take ('S c) (a ': as) = a ': (Take c as)
93+type family Delete (a :: k) (s :: [k]) :: [k] where
95+ Delete a (a ': as) = Delete a as
96+ Delete a (b ': as) = b ': (Delete a as)