Uzyskiwanie dostępu do członków niestandardowego typu danych w Haskell

Powiedz, że w Haskell mam następujący niestandardowy typ danych i funkcję:

data Person = Person { first_name :: String, 
                       last_name :: String,
                       age :: Int 
                     } deriving (Eq, Ord, Show)

Jeśli chcę utworzyć funkcjęprint_age wydrukować wiek osoby, taki jak:print_age (Person "John" "Smith" 21) , jak bym pisałprint_age aby uzyskać dostęp do parametru wieku? Jestem facetem zorientowanym na obiekt, więc nie jestem tutaj. Po prostu szukam odpowiednika Person.age.