Haskell multi-key record sort with nulls last

Haskell
import Data.List (sortBy)
import Data.Ord (comparing)

data Person = Person { personName :: String, personAge :: Maybe Int }
  deriving (Show)

comparePeople :: Person -> Person -> Ordering
comparePeople a b = comparing personName a b <> compareAges (personAge a) (personAge b)
  where
    compareAges Nothing Nothing = EQ
    compareAges Nothing (Just _) = GT
    compareAges (Just _) Nothing = LT
    compareAges (Just x) (Just y) = compare x y

sortPeople :: [Person] -> [Person]
sortPeople = sortBy comparePeople