-- mapping from FB types to Haskell types
typesMap :: Map.Map Text Text
typesMap =
    Map.fromList [("string", "Text")
                , ("unsigned int32", "Int")
                , ("int32", "Int")
                , ("int", "Integer")
                , ("float", "Float")
                , ("boolean", "Bool")
                , ("bool", "Bool")
                , ("datetime", "UTCTime") -- ???
                , ("numeric string", "Text")
                , ("UTF-8 encoded string", "BS.ByteString")
                , ("numeric string or integer", "Text") -- ???
                , ("integer", "Integer")
                , ("list<unsigned int32>", "Vector Int")
                , ("list<string>", "Vector Text")
                , ("list<numeric string>", "Vector Text")
                , ("list<numeric string or integer>", "Vector Text")
                , ("list<ExecOption>", "Vector ExecOption")
                , ("ISO 4217 Currency Code", "Text")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("ConfigureStatus", "ConfigureStatusADT")
                , ("CustomAudienceDataSource", "CustomAudienceDataSource")
                , ("CustomAudienceStatus", "CustomAudienceStatus")
                , ("CustomAudienceSubtypeADT", "CustomAudienceSubtypeADT")
                , ("LookalikeSpecADT", "LookalikeSpecADT")
                , ("EffectiveStatus", "EffectiveStatusADT")
                , ("ConfiguredAdStatus", "ConfiguredAdStatus")
                , ("EffectiveAdStatus", "EffectiveAdStatus")
                , ("OptGoal", "OptGoal")
                , ("Targeting object", "TargetingSpecs")
                , ("Targeting", "TargetingSpecs")
                , ("BidType", "BidTypeADT")
                , ("ObjectType", "ObjectTypeADT")
                , ("DeleteStrategy", "DeleteStrategyADT")
                , ("Objective", "ObjectiveADT")
                , ("BuyingType", "BuyingTypeADT")
                , ("BillingEvent", "BillingEventADT")
                , ("AdCreativeObjectStorySpec", "ObjectStorySpecADT")
                , ("CallActionType", "CallToActionTypeADT")
                , ("URL", "Text")
                , ("post id", "Text")
                , ("Post ID", "Text")
                , ("post_id", "Text")
                , ("id", "Text")
                , ("AdAccount", "AdAccount") -- FIXME
                , ("AdCreativeId", "AdCreativeADT")
                , ("RunStatus", "RunStatusADT")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("map<string, unsigned int32>", "Map.Map Text Int")
                , ("dictionary", "A.Value") -- ???
                , ("Object", "A.Value") -- ???
                , ("videoId", "VideoId")
                ]
typesMap :: Map.Map Text Text
typesMap =
    Map.fromList [("string", "Text")
                , ("unsigned int32", "Int")
                , ("int32", "Int")
                , ("int", "Integer")
                , ("float", "Float")
                , ("boolean", "Bool")
                , ("bool", "Bool")
                , ("datetime", "UTCTime") -- ???
                , ("numeric string", "Text")
                , ("UTF-8 encoded string", "BS.ByteString")
                , ("numeric string or integer", "Text") -- ???
                , ("integer", "Integer")
                , ("list<unsigned int32>", "Vector Int")
                , ("list<string>", "Vector Text")
                , ("list<numeric string>", "Vector Text")
                , ("list<numeric string or integer>", "Vector Text")
                , ("list<ExecOption>", "Vector ExecOption")
                , ("ISO 4217 Currency Code", "Text")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("ConfigureStatus", "ConfigureStatusADT")
                , ("CustomAudienceDataSource", "CustomAudienceDataSource")
                , ("CustomAudienceStatus", "CustomAudienceStatus")
                , ("CustomAudienceSubtypeADT", "CustomAudienceSubtypeADT")
                , ("LookalikeSpecADT", "LookalikeSpecADT")
                , ("EffectiveStatus", "EffectiveStatusADT")
                , ("ConfiguredAdStatus", "ConfiguredAdStatus")
                , ("EffectiveAdStatus", "EffectiveAdStatus")
                , ("OptGoal", "OptGoal")
                , ("Targeting object", "TargetingSpecs")
                , ("Targeting", "TargetingSpecs")
                , ("BidType", "BidTypeADT")
                , ("ObjectType", "ObjectTypeADT")
                , ("DeleteStrategy", "DeleteStrategyADT")
                , ("Objective", "ObjectiveADT")
                , ("BuyingType", "BuyingTypeADT")
                , ("BillingEvent", "BillingEventADT")
                , ("AdCreativeObjectStorySpec", "ObjectStorySpecADT")
                , ("CallActionType", "CallToActionTypeADT")
                , ("URL", "Text")
                , ("post id", "Text")
                , ("Post ID", "Text")
                , ("post_id", "Text")
                , ("id", "Text")
                , ("AdAccount", "AdAccount") -- FIXME
                , ("AdCreativeId", "AdCreativeADT")
                , ("RunStatus", "RunStatusADT")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("map<string, unsigned int32>", "Map.Map Text Int")
                , ("dictionary", "A.Value") -- ???
                , ("Object", "A.Value") -- ???
                , ("videoId", "VideoId")
                ]
typesMap =
    Map.fromList [("string", "Text")
                , ("unsigned int32", "Int")
                , ("int32", "Int")
                , ("int", "Integer")
                , ("float", "Float")
                , ("boolean", "Bool")
                , ("bool", "Bool")
                , ("datetime", "UTCTime") -- ???
                , ("numeric string", "Text")
                , ("UTF-8 encoded string", "BS.ByteString")
                , ("numeric string or integer", "Text") -- ???
                , ("integer", "Integer")
                , ("list<unsigned int32>", "Vector Int")
                , ("list<string>", "Vector Text")
                , ("list<numeric string>", "Vector Text")
                , ("list<numeric string or integer>", "Vector Text")
                , ("list<ExecOption>", "Vector ExecOption")
                , ("ISO 4217 Currency Code", "Text")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("ConfigureStatus", "ConfigureStatusADT")
                , ("CustomAudienceDataSource", "CustomAudienceDataSource")
                , ("CustomAudienceStatus", "CustomAudienceStatus")
                , ("CustomAudienceSubtypeADT", "CustomAudienceSubtypeADT")
                , ("LookalikeSpecADT", "LookalikeSpecADT")
                , ("EffectiveStatus", "EffectiveStatusADT")
                , ("ConfiguredAdStatus", "ConfiguredAdStatus")
                , ("EffectiveAdStatus", "EffectiveAdStatus")
                , ("OptGoal", "OptGoal")
                , ("Targeting object", "TargetingSpecs")
                , ("Targeting", "TargetingSpecs")
                , ("BidType", "BidTypeADT")
                , ("ObjectType", "ObjectTypeADT")
                , ("DeleteStrategy", "DeleteStrategyADT")
                , ("Objective", "ObjectiveADT")
                , ("BuyingType", "BuyingTypeADT")
                , ("BillingEvent", "BillingEventADT")
                , ("AdCreativeObjectStorySpec", "ObjectStorySpecADT")
                , ("CallActionType", "CallToActionTypeADT")
                , ("URL", "Text")
                , ("post id", "Text")
                , ("Post ID", "Text")
                , ("post_id", "Text")
                , ("id", "Text")
                , ("AdAccount", "AdAccount") -- FIXME
                , ("AdCreativeId", "AdCreativeADT")
                , ("RunStatus", "RunStatusADT")
                , ("map<string, int32>", "Map.Map Text Int")
                , ("map<string, unsigned int32>", "Map.Map Text Int")
                , ("dictionary", "A.Value") -- ???
                , ("Object", "A.Value") -- ???
                , ("videoId", "VideoId")
                ]