A constraint which documents that a function is partial, and on GHC
8.0 and above produces a stack trace on failure. For example:
myHead :: Partial => [a] -> a
myHead [] = error "bad"
myHead (x:xs) = x
When using Partial with GHC 7.8 or below you need to enable the
language feature ConstraintKinds, e.g. {-# LANGUAGE
ConstraintKinds #-} at the top of the file.