{-#LANGUAGE DeriveDataTypeable #-} {-#LANGUAGE GeneralizedNewtypeDeriving #-} module Facts.Geography.Countries.UnitedStates.Address where import Data.Data import Data.Typeable import Facts.Geography.Countries.UnitedStates import Facts.Geography.Countries.UnitedStates.ZipCode data Recipient = Recipient { recipient_name :: String , recipient_firm :: Maybe String } deriving (Data, Eq, Ord, Show, Typeable) data Address = Address { recipient :: Recipient , street_address :: String , street_address2 :: Maybe String , city :: String , state :: Either StateCode OtherUSEntity , zip_code :: ZipCode } deriving (Data, Eq, Show, Ord, Typeable)