{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
data TomaSasaki = TomaSasaki
instance SelfIntroduction TomaSasaki where
name :: TomaSasaki -> Name
name TomaSasaki = GivenNameAndFamilyName "TOMA" "SASAKI"
birthday :: TomaSasaki -> Date
birthday TomaSasaki = DDMMYYYY 15 09 2006
education :: TomaSasaki -> (EducationLevel, School)
education TomaSasaki = (Undergraduate, TheUniversityOfManchester)
residence :: TomaSasaki -> IO Place
residence TomaSasaki =
personStatus TomaSasaki >>= \case
OnLongHoliday -> pure Japan
_ -> pure England
Back