module Data.List.Partial where import Control.Partial head :: (Partial) => [a] -> a head (x:_) = x head _ = error "head: empty list" tail :: (Partial) => [a] -> [a] tail (_:xs) = xs tail _ = error "tail: empty list"