[Haskell] Irrefutable patterns allowing mutually dependent functions.