splitNonEmpty :: [a] -> [([a], [a])]
splitNonEmpty xs = [splitAt n xs | n <- [1..(length xs - 1)]]
splitNonEmpty :: [a] -> [([a], [a])]
splitNonEmpty xs = [splitAt n xs | n <- [1..(length xs - 1)]]
splitNonEmpty xs = [splitAt n xs | n <- [1..(length xs - 1)]]