splitAt package:utility-ht

\(Shape xs) (List ys) -> Match.splitAt xs ys == (Match.take xs ys, Match.drop xs ys)
\(Shape xs) (List ys) -> Match.splitAt xs ys == List.splitAt (length xs) ys
splitAtRev n xs == (dropRev n xs, takeRev n xs).
\n xs -> splitAtRev n (xs::String) == (dropRev n xs, takeRev n xs)
\n xs -> (xs::String) == uncurry (++) (splitAtRev n xs)