diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
 # Change Log
 
+## 0.60.0
+
+* Add and require aeson-2 support
+* Maintainer change to [Markus Schirp](https://github.com/mbj)
+* Drop support for pre GHC 9.0, user older releases if you are on
+  these GHCs. This reduces maintainer overhead.
+* Add github actions based CI
+
 ## 0.59.1
 
 * Fix missing `.cabal` file in distribution
diff --git a/LICENSE.md b/LICENSE.md
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,5 @@
 Copyright (c) 2016 David Reaver
+Copyright (c) 2022 Markus Schirp
 
 Permission is hereby granted, free of charge, to any person obtaining a copy of
 this software and associated documentation files (the "Software"), to deal in
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Stratosphere: AWS CloudFormation in Haskell
 
-[![Circle CI](https://circleci.com/gh/freckle/stratosphere.svg?style=svg)](https://circleci.com/gh/freckle/stratosphere)
+[![CI](https://github.com/mbj/stratosphere/actions/workflows/ci.yaml/badge.svg)](https://github.com/mbj/stratosphere/actions/workflows/ci.yaml)
 
 AWS CloudFormation is a system that provisions and updates Amazon Web Services
 (AWS) resources based on declarative templates. Common criticisms of
@@ -101,7 +101,7 @@
 without adding too much noise to their code.
 
 To specify optional arguments, we recommend using the lens operators `&` and
-`?~`. In the example above, the optional EC2 key name is specified using the 
+`?~`. In the example above, the optional EC2 key name is specified using the
 `&` and `?~` lens operators.
 
 This approach is very similar to the approach taken by the `amazonka` library.
@@ -139,3 +139,9 @@
   are limits on the size of CloudFormation templates, and we want readable
   output without hitting the limits. Also, we have some newtypes that just
   exist to override aeson instances, and we could get rid of those.
+
+## Development Build
+
+```
+STACK_YAML=stack-9.0.yaml stack build --test --flag stratosphere:-library-only
+```
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,4 +0,0 @@
-import qualified Distribution.Simple
-
-main :: IO ()
-main = Distribution.Simple.defaultMain
diff --git a/library-gen/Stratosphere/Resources/ACMPCACertificate.hs b/library-gen/Stratosphere/Resources/ACMPCACertificate.hs
--- a/library-gen/Stratosphere/Resources/ACMPCACertificate.hs
+++ b/library-gen/Stratosphere/Resources/ACMPCACertificate.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ACMPCA::Certificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CertificateAuthorityArn",) . toJSON) _aCMPCACertificateCertificateAuthorityArn
         , (Just . ("CertificateSigningRequest",) . toJSON) _aCMPCACertificateCertificateSigningRequest
         , (Just . ("SigningAlgorithm",) . toJSON) _aCMPCACertificateSigningAlgorithm
diff --git a/library-gen/Stratosphere/Resources/ACMPCACertificateAuthority.hs b/library-gen/Stratosphere/Resources/ACMPCACertificateAuthority.hs
--- a/library-gen/Stratosphere/Resources/ACMPCACertificateAuthority.hs
+++ b/library-gen/Stratosphere/Resources/ACMPCACertificateAuthority.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ACMPCA::CertificateAuthority"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("KeyAlgorithm",) . toJSON) _aCMPCACertificateAuthorityKeyAlgorithm
         , fmap (("RevocationConfiguration",) . toJSON) _aCMPCACertificateAuthorityRevocationConfiguration
         , (Just . ("SigningAlgorithm",) . toJSON) _aCMPCACertificateAuthoritySigningAlgorithm
diff --git a/library-gen/Stratosphere/Resources/ACMPCACertificateAuthorityActivation.hs b/library-gen/Stratosphere/Resources/ACMPCACertificateAuthorityActivation.hs
--- a/library-gen/Stratosphere/Resources/ACMPCACertificateAuthorityActivation.hs
+++ b/library-gen/Stratosphere/Resources/ACMPCACertificateAuthorityActivation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ACMPCA::CertificateAuthorityActivation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Certificate",) . toJSON) _aCMPCACertificateAuthorityActivationCertificate
         , (Just . ("CertificateAuthorityArn",) . toJSON) _aCMPCACertificateAuthorityActivationCertificateAuthorityArn
         , fmap (("CertificateChain",) . toJSON) _aCMPCACertificateAuthorityActivationCertificateChain
diff --git a/library-gen/Stratosphere/Resources/ASKSkill.hs b/library-gen/Stratosphere/Resources/ASKSkill.hs
--- a/library-gen/Stratosphere/Resources/ASKSkill.hs
+++ b/library-gen/Stratosphere/Resources/ASKSkill.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "Alexa::ASK::Skill"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthenticationConfiguration",) . toJSON) _aSKSkillAuthenticationConfiguration
         , (Just . ("SkillPackage",) . toJSON) _aSKSkillSkillPackage
         , (Just . ("VendorId",) . toJSON) _aSKSkillVendorId
diff --git a/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs b/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs
--- a/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs
+++ b/library-gen/Stratosphere/Resources/AccessAnalyzerAnalyzer.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AccessAnalyzer::Analyzer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AnalyzerName",) . toJSON) _accessAnalyzerAnalyzerAnalyzerName
         , fmap (("ArchiveRules",) . toJSON) _accessAnalyzerAnalyzerArchiveRules
         , fmap (("Tags",) . toJSON) _accessAnalyzerAnalyzerTags
diff --git a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQBroker.hs
@@ -47,7 +47,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AmazonMQ::Broker"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AuthenticationStrategy",) . toJSON) _amazonMQBrokerAuthenticationStrategy
         , (Just . ("AutoMinorVersionUpgrade",) . toJSON) _amazonMQBrokerAutoMinorVersionUpgrade
         , (Just . ("BrokerName",) . toJSON) _amazonMQBrokerBrokerName
diff --git a/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs b/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQConfiguration.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AmazonMQ::Configuration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Data",) . toJSON) _amazonMQConfigurationData
         , fmap (("Description",) . toJSON) _amazonMQConfigurationDescription
         , (Just . ("EngineType",) . toJSON) _amazonMQConfigurationEngineType
diff --git a/library-gen/Stratosphere/Resources/AmazonMQConfigurationAssociation.hs b/library-gen/Stratosphere/Resources/AmazonMQConfigurationAssociation.hs
--- a/library-gen/Stratosphere/Resources/AmazonMQConfigurationAssociation.hs
+++ b/library-gen/Stratosphere/Resources/AmazonMQConfigurationAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AmazonMQ::ConfigurationAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Broker",) . toJSON) _amazonMQConfigurationAssociationBroker
         , (Just . ("Configuration",) . toJSON) _amazonMQConfigurationAssociationConfiguration
         ]
diff --git a/library-gen/Stratosphere/Resources/AmplifyApp.hs b/library-gen/Stratosphere/Resources/AmplifyApp.hs
--- a/library-gen/Stratosphere/Resources/AmplifyApp.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyApp.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Amplify::App"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessToken",) . toJSON) _amplifyAppAccessToken
         , fmap (("AutoBranchCreationConfig",) . toJSON) _amplifyAppAutoBranchCreationConfig
         , fmap (("BasicAuthConfig",) . toJSON) _amplifyAppBasicAuthConfig
diff --git a/library-gen/Stratosphere/Resources/AmplifyBranch.hs b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
--- a/library-gen/Stratosphere/Resources/AmplifyBranch.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyBranch.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Amplify::Branch"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AppId",) . toJSON) _amplifyBranchAppId
         , fmap (("BasicAuthConfig",) . toJSON) _amplifyBranchBasicAuthConfig
         , (Just . ("BranchName",) . toJSON) _amplifyBranchBranchName
diff --git a/library-gen/Stratosphere/Resources/AmplifyDomain.hs b/library-gen/Stratosphere/Resources/AmplifyDomain.hs
--- a/library-gen/Stratosphere/Resources/AmplifyDomain.hs
+++ b/library-gen/Stratosphere/Resources/AmplifyDomain.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Amplify::Domain"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AppId",) . toJSON) _amplifyDomainAppId
         , fmap (("AutoSubDomainCreationPatterns",) . toJSON) _amplifyDomainAutoSubDomainCreationPatterns
         , fmap (("AutoSubDomainIAMRole",) . toJSON) _amplifyDomainAutoSubDomainIAMRole
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs b/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayAccount.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Account"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CloudWatchRoleArn",) . toJSON) _apiGatewayAccountCloudWatchRoleArn
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayApiKey.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::ApiKey"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CustomerId",) . toJSON) _apiGatewayApiKeyCustomerId
         , fmap (("Description",) . toJSON) _apiGatewayApiKeyDescription
         , fmap (("Enabled",) . toJSON) _apiGatewayApiKeyEnabled
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs b/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayAuthorizer.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Authorizer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AuthType",) . toJSON) _apiGatewayAuthorizerAuthType
         , fmap (("AuthorizerCredentials",) . toJSON) _apiGatewayAuthorizerAuthorizerCredentials
         , fmap (("AuthorizerResultTtlInSeconds",) . toJSON) _apiGatewayAuthorizerAuthorizerResultTtlInSeconds
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs b/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayBasePathMapping.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::BasePathMapping"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BasePath",) . toJSON) _apiGatewayBasePathMappingBasePath
         , (Just . ("DomainName",) . toJSON) _apiGatewayBasePathMappingDomainName
         , fmap (("RestApiId",) . toJSON) _apiGatewayBasePathMappingRestApiId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayClientCertificate.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::ClientCertificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _apiGatewayClientCertificateDescription
         , fmap (("Tags",) . toJSON) _apiGatewayClientCertificateTags
         ]
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDeployment.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Deployment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeploymentCanarySettings",) . toJSON) _apiGatewayDeploymentDeploymentCanarySettings
         , fmap (("Description",) . toJSON) _apiGatewayDeploymentDescription
         , (Just . ("RestApiId",) . toJSON) _apiGatewayDeploymentRestApiId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDocumentationPart.hs b/library-gen/Stratosphere/Resources/ApiGatewayDocumentationPart.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDocumentationPart.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDocumentationPart.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::DocumentationPart"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Location",) . toJSON) _apiGatewayDocumentationPartLocation
         , (Just . ("Properties",) . toJSON) _apiGatewayDocumentationPartProperties
         , (Just . ("RestApiId",) . toJSON) _apiGatewayDocumentationPartRestApiId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDocumentationVersion.hs b/library-gen/Stratosphere/Resources/ApiGatewayDocumentationVersion.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDocumentationVersion.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDocumentationVersion.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::DocumentationVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _apiGatewayDocumentationVersionDescription
         , (Just . ("DocumentationVersion",) . toJSON) _apiGatewayDocumentationVersionDocumentationVersion
         , (Just . ("RestApiId",) . toJSON) _apiGatewayDocumentationVersionRestApiId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayDomainName.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::DomainName"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CertificateArn",) . toJSON) _apiGatewayDomainNameCertificateArn
         , fmap (("DomainName",) . toJSON) _apiGatewayDomainNameDomainName
         , fmap (("EndpointConfiguration",) . toJSON) _apiGatewayDomainNameEndpointConfiguration
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayGatewayResponse.hs b/library-gen/Stratosphere/Resources/ApiGatewayGatewayResponse.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayGatewayResponse.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayGatewayResponse.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::GatewayResponse"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ResponseParameters",) . toJSON) _apiGatewayGatewayResponseResponseParameters
         , fmap (("ResponseTemplates",) . toJSON) _apiGatewayGatewayResponseResponseTemplates
         , (Just . ("ResponseType",) . toJSON) _apiGatewayGatewayResponseResponseType
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayMethod.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Method"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApiKeyRequired",) . toJSON) _apiGatewayMethodApiKeyRequired
         , fmap (("AuthorizationScopes",) . toJSON) _apiGatewayMethodAuthorizationScopes
         , fmap (("AuthorizationType",) . toJSON) _apiGatewayMethodAuthorizationType
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayModel.hs b/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayModel.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Model"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ContentType",) . toJSON) _apiGatewayModelContentType
         , fmap (("Description",) . toJSON) _apiGatewayModelDescription
         , fmap (("Name",) . toJSON) _apiGatewayModelName
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs b/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayRequestValidator.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::RequestValidator"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _apiGatewayRequestValidatorName
         , (Just . ("RestApiId",) . toJSON) _apiGatewayRequestValidatorRestApiId
         , fmap (("ValidateRequestBody",) . toJSON) _apiGatewayRequestValidatorValidateRequestBody
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayResource.hs b/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayResource.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Resource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ParentId",) . toJSON) _apiGatewayResourceParentId
         , (Just . ("PathPart",) . toJSON) _apiGatewayResourcePathPart
         , (Just . ("RestApiId",) . toJSON) _apiGatewayResourceRestApiId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayRestApi.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::RestApi"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApiKeySourceType",) . toJSON) _apiGatewayRestApiApiKeySourceType
         , fmap (("BinaryMediaTypes",) . toJSON) _apiGatewayRestApiBinaryMediaTypes
         , fmap (("Body",) . toJSON) _apiGatewayRestApiBody
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayStage.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::Stage"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessLogSetting",) . toJSON) _apiGatewayStageAccessLogSetting
         , fmap (("CacheClusterEnabled",) . toJSON) _apiGatewayStageCacheClusterEnabled
         , fmap (("CacheClusterSize",) . toJSON) _apiGatewayStageCacheClusterSize
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlan.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::UsagePlan"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApiStages",) . toJSON) _apiGatewayUsagePlanApiStages
         , fmap (("Description",) . toJSON) _apiGatewayUsagePlanDescription
         , fmap (("Quota",) . toJSON) _apiGatewayUsagePlanQuota
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlanKey.hs b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlanKey.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayUsagePlanKey.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayUsagePlanKey.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::UsagePlanKey"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("KeyId",) . toJSON) _apiGatewayUsagePlanKeyKeyId
         , (Just . ("KeyType",) . toJSON) _apiGatewayUsagePlanKeyKeyType
         , (Just . ("UsagePlanId",) . toJSON) _apiGatewayUsagePlanKeyUsagePlanId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Api.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Api"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApiKeySelectionExpression",) . toJSON) _apiGatewayV2ApiApiKeySelectionExpression
         , fmap (("BasePath",) . toJSON) _apiGatewayV2ApiBasePath
         , fmap (("Body",) . toJSON) _apiGatewayV2ApiBody
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2ApiGatewayManagedOverrides.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiGatewayManagedOverrides.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2ApiGatewayManagedOverrides.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiGatewayManagedOverrides.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::ApiGatewayManagedOverrides"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2ApiGatewayManagedOverridesApiId
         , fmap (("Integration",) . toJSON) _apiGatewayV2ApiGatewayManagedOverridesIntegration
         , fmap (("Route",) . toJSON) _apiGatewayV2ApiGatewayManagedOverridesRoute
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2ApiMapping.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::ApiMapping"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2ApiMappingApiId
         , fmap (("ApiMappingKey",) . toJSON) _apiGatewayV2ApiMappingApiMappingKey
         , (Just . ("DomainName",) . toJSON) _apiGatewayV2ApiMappingDomainName
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Authorizer.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Authorizer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2AuthorizerApiId
         , fmap (("AuthorizerCredentialsArn",) . toJSON) _apiGatewayV2AuthorizerAuthorizerCredentialsArn
         , fmap (("AuthorizerResultTtlInSeconds",) . toJSON) _apiGatewayV2AuthorizerAuthorizerResultTtlInSeconds
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Deployment.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Deployment.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Deployment.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Deployment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Deployment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2DeploymentApiId
         , fmap (("Description",) . toJSON) _apiGatewayV2DeploymentDescription
         , fmap (("StageName",) . toJSON) _apiGatewayV2DeploymentStageName
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2DomainName.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::DomainName"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DomainName",) . toJSON) _apiGatewayV2DomainNameDomainName
         , fmap (("DomainNameConfigurations",) . toJSON) _apiGatewayV2DomainNameDomainNameConfigurations
         , fmap (("Tags",) . toJSON) _apiGatewayV2DomainNameTags
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Integration.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Integration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2IntegrationApiId
         , fmap (("ConnectionId",) . toJSON) _apiGatewayV2IntegrationConnectionId
         , fmap (("ConnectionType",) . toJSON) _apiGatewayV2IntegrationConnectionType
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2IntegrationResponse.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2IntegrationResponse.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2IntegrationResponse.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2IntegrationResponse.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::IntegrationResponse"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2IntegrationResponseApiId
         , fmap (("ContentHandlingStrategy",) . toJSON) _apiGatewayV2IntegrationResponseContentHandlingStrategy
         , (Just . ("IntegrationId",) . toJSON) _apiGatewayV2IntegrationResponseIntegrationId
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Model.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Model.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Model.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Model.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Model"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2ModelApiId
         , fmap (("ContentType",) . toJSON) _apiGatewayV2ModelContentType
         , fmap (("Description",) . toJSON) _apiGatewayV2ModelDescription
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Route.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Route"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2RouteApiId
         , fmap (("ApiKeyRequired",) . toJSON) _apiGatewayV2RouteApiKeyRequired
         , fmap (("AuthorizationScopes",) . toJSON) _apiGatewayV2RouteAuthorizationScopes
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2RouteResponse.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2RouteResponse.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2RouteResponse.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2RouteResponse.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::RouteResponse"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _apiGatewayV2RouteResponseApiId
         , fmap (("ModelSelectionExpression",) . toJSON) _apiGatewayV2RouteResponseModelSelectionExpression
         , fmap (("ResponseModels",) . toJSON) _apiGatewayV2RouteResponseResponseModels
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2Stage.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::Stage"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessLogSettings",) . toJSON) _apiGatewayV2StageAccessLogSettings
         , (Just . ("ApiId",) . toJSON) _apiGatewayV2StageApiId
         , fmap (("AutoDeploy",) . toJSON) _apiGatewayV2StageAutoDeploy
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayV2VpcLink.hs b/library-gen/Stratosphere/Resources/ApiGatewayV2VpcLink.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayV2VpcLink.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayV2VpcLink.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGatewayV2::VpcLink"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _apiGatewayV2VpcLinkName
         , fmap (("SecurityGroupIds",) . toJSON) _apiGatewayV2VpcLinkSecurityGroupIds
         , (Just . ("SubnetIds",) . toJSON) _apiGatewayV2VpcLinkSubnetIds
diff --git a/library-gen/Stratosphere/Resources/ApiGatewayVpcLink.hs b/library-gen/Stratosphere/Resources/ApiGatewayVpcLink.hs
--- a/library-gen/Stratosphere/Resources/ApiGatewayVpcLink.hs
+++ b/library-gen/Stratosphere/Resources/ApiGatewayVpcLink.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApiGateway::VpcLink"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _apiGatewayVpcLinkDescription
         , (Just . ("Name",) . toJSON) _apiGatewayVpcLinkName
         , (Just . ("TargetArns",) . toJSON) _apiGatewayVpcLinkTargetArns
diff --git a/library-gen/Stratosphere/Resources/AppConfigApplication.hs b/library-gen/Stratosphere/Resources/AppConfigApplication.hs
--- a/library-gen/Stratosphere/Resources/AppConfigApplication.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigApplication.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _appConfigApplicationDescription
         , (Just . ("Name",) . toJSON) _appConfigApplicationName
         , fmap (("Tags",) . toJSON) _appConfigApplicationTags
diff --git a/library-gen/Stratosphere/Resources/AppConfigConfigurationProfile.hs b/library-gen/Stratosphere/Resources/AppConfigConfigurationProfile.hs
--- a/library-gen/Stratosphere/Resources/AppConfigConfigurationProfile.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigConfigurationProfile.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::ConfigurationProfile"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _appConfigConfigurationProfileApplicationId
         , fmap (("Description",) . toJSON) _appConfigConfigurationProfileDescription
         , (Just . ("LocationUri",) . toJSON) _appConfigConfigurationProfileLocationUri
diff --git a/library-gen/Stratosphere/Resources/AppConfigDeployment.hs b/library-gen/Stratosphere/Resources/AppConfigDeployment.hs
--- a/library-gen/Stratosphere/Resources/AppConfigDeployment.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigDeployment.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::Deployment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _appConfigDeploymentApplicationId
         , (Just . ("ConfigurationProfileId",) . toJSON) _appConfigDeploymentConfigurationProfileId
         , (Just . ("ConfigurationVersion",) . toJSON) _appConfigDeploymentConfigurationVersion
diff --git a/library-gen/Stratosphere/Resources/AppConfigDeploymentStrategy.hs b/library-gen/Stratosphere/Resources/AppConfigDeploymentStrategy.hs
--- a/library-gen/Stratosphere/Resources/AppConfigDeploymentStrategy.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigDeploymentStrategy.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::DeploymentStrategy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DeploymentDurationInMinutes",) . toJSON) _appConfigDeploymentStrategyDeploymentDurationInMinutes
         , fmap (("Description",) . toJSON) _appConfigDeploymentStrategyDescription
         , fmap (("FinalBakeTimeInMinutes",) . toJSON) _appConfigDeploymentStrategyFinalBakeTimeInMinutes
diff --git a/library-gen/Stratosphere/Resources/AppConfigEnvironment.hs b/library-gen/Stratosphere/Resources/AppConfigEnvironment.hs
--- a/library-gen/Stratosphere/Resources/AppConfigEnvironment.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigEnvironment.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::Environment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _appConfigEnvironmentApplicationId
         , fmap (("Description",) . toJSON) _appConfigEnvironmentDescription
         , fmap (("Monitors",) . toJSON) _appConfigEnvironmentMonitors
diff --git a/library-gen/Stratosphere/Resources/AppConfigHostedConfigurationVersion.hs b/library-gen/Stratosphere/Resources/AppConfigHostedConfigurationVersion.hs
--- a/library-gen/Stratosphere/Resources/AppConfigHostedConfigurationVersion.hs
+++ b/library-gen/Stratosphere/Resources/AppConfigHostedConfigurationVersion.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppConfig::HostedConfigurationVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _appConfigHostedConfigurationVersionApplicationId
         , (Just . ("ConfigurationProfileId",) . toJSON) _appConfigHostedConfigurationVersionConfigurationProfileId
         , (Just . ("Content",) . toJSON) _appConfigHostedConfigurationVersionContent
diff --git a/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs b/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs
--- a/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshGatewayRoute.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::GatewayRoute"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GatewayRouteName",) . toJSON) _appMeshGatewayRouteGatewayRouteName
         , (Just . ("MeshName",) . toJSON) _appMeshGatewayRouteMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshGatewayRouteMeshOwner
diff --git a/library-gen/Stratosphere/Resources/AppMeshMesh.hs b/library-gen/Stratosphere/Resources/AppMeshMesh.hs
--- a/library-gen/Stratosphere/Resources/AppMeshMesh.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshMesh.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::Mesh"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshMeshMeshName
         , fmap (("Spec",) . toJSON) _appMeshMeshSpec
         , fmap (("Tags",) . toJSON) _appMeshMeshTags
diff --git a/library-gen/Stratosphere/Resources/AppMeshRoute.hs b/library-gen/Stratosphere/Resources/AppMeshRoute.hs
--- a/library-gen/Stratosphere/Resources/AppMeshRoute.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshRoute.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::Route"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshRouteMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshRouteMeshOwner
         , (Just . ("RouteName",) . toJSON) _appMeshRouteRouteName
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualGateway.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::VirtualGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualGatewayMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshVirtualGatewayMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualGatewaySpec
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualNode.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::VirtualNode"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualNodeMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshVirtualNodeMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualNodeSpec
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualRouter.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::VirtualRouter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualRouterMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshVirtualRouterMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualRouterSpec
diff --git a/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs b/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
--- a/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
+++ b/library-gen/Stratosphere/Resources/AppMeshVirtualService.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppMesh::VirtualService"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MeshName",) . toJSON) _appMeshVirtualServiceMeshName
         , fmap (("MeshOwner",) . toJSON) _appMeshVirtualServiceMeshOwner
         , (Just . ("Spec",) . toJSON) _appMeshVirtualServiceSpec
diff --git a/library-gen/Stratosphere/Resources/AppStreamDirectoryConfig.hs b/library-gen/Stratosphere/Resources/AppStreamDirectoryConfig.hs
--- a/library-gen/Stratosphere/Resources/AppStreamDirectoryConfig.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamDirectoryConfig.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::DirectoryConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DirectoryName",) . toJSON) _appStreamDirectoryConfigDirectoryName
         , (Just . ("OrganizationalUnitDistinguishedNames",) . toJSON) _appStreamDirectoryConfigOrganizationalUnitDistinguishedNames
         , (Just . ("ServiceAccountCredentials",) . toJSON) _appStreamDirectoryConfigServiceAccountCredentials
diff --git a/library-gen/Stratosphere/Resources/AppStreamFleet.hs b/library-gen/Stratosphere/Resources/AppStreamFleet.hs
--- a/library-gen/Stratosphere/Resources/AppStreamFleet.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamFleet.hs
@@ -39,7 +39,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::Fleet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ComputeCapacity",) . toJSON) _appStreamFleetComputeCapacity
         , fmap (("Description",) . toJSON) _appStreamFleetDescription
         , fmap (("DisconnectTimeoutInSeconds",) . toJSON) _appStreamFleetDisconnectTimeoutInSeconds
diff --git a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
--- a/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamImageBuilder.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::ImageBuilder"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessEndpoints",) . toJSON) _appStreamImageBuilderAccessEndpoints
         , fmap (("AppstreamAgentVersion",) . toJSON) _appStreamImageBuilderAppstreamAgentVersion
         , fmap (("Description",) . toJSON) _appStreamImageBuilderDescription
diff --git a/library-gen/Stratosphere/Resources/AppStreamStack.hs b/library-gen/Stratosphere/Resources/AppStreamStack.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStack.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStack.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::Stack"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessEndpoints",) . toJSON) _appStreamStackAccessEndpoints
         , fmap (("ApplicationSettings",) . toJSON) _appStreamStackApplicationSettings
         , fmap (("AttributesToDelete",) . toJSON) _appStreamStackAttributesToDelete
diff --git a/library-gen/Stratosphere/Resources/AppStreamStackFleetAssociation.hs b/library-gen/Stratosphere/Resources/AppStreamStackFleetAssociation.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStackFleetAssociation.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStackFleetAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::StackFleetAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("FleetName",) . toJSON) _appStreamStackFleetAssociationFleetName
         , (Just . ("StackName",) . toJSON) _appStreamStackFleetAssociationStackName
         ]
diff --git a/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs b/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
--- a/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamStackUserAssociation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::StackUserAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthenticationType",) . toJSON) _appStreamStackUserAssociationAuthenticationType
         , fmap (("SendEmailNotification",) . toJSON) _appStreamStackUserAssociationSendEmailNotification
         , (Just . ("StackName",) . toJSON) _appStreamStackUserAssociationStackName
diff --git a/library-gen/Stratosphere/Resources/AppStreamUser.hs b/library-gen/Stratosphere/Resources/AppStreamUser.hs
--- a/library-gen/Stratosphere/Resources/AppStreamUser.hs
+++ b/library-gen/Stratosphere/Resources/AppStreamUser.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppStream::User"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthenticationType",) . toJSON) _appStreamUserAuthenticationType
         , fmap (("FirstName",) . toJSON) _appStreamUserFirstName
         , fmap (("LastName",) . toJSON) _appStreamUserLastName
diff --git a/library-gen/Stratosphere/Resources/AppSyncApiCache.hs b/library-gen/Stratosphere/Resources/AppSyncApiCache.hs
--- a/library-gen/Stratosphere/Resources/AppSyncApiCache.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncApiCache.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::ApiCache"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiCachingBehavior",) . toJSON) _appSyncApiCacheApiCachingBehavior
         , (Just . ("ApiId",) . toJSON) _appSyncApiCacheApiId
         , fmap (("AtRestEncryptionEnabled",) . toJSON) _appSyncApiCacheAtRestEncryptionEnabled
diff --git a/library-gen/Stratosphere/Resources/AppSyncApiKey.hs b/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
--- a/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncApiKey.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::ApiKey"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncApiKeyApiId
         , fmap (("Description",) . toJSON) _appSyncApiKeyDescription
         , fmap (("Expires",) . toJSON) _appSyncApiKeyExpires
diff --git a/library-gen/Stratosphere/Resources/AppSyncDataSource.hs b/library-gen/Stratosphere/Resources/AppSyncDataSource.hs
--- a/library-gen/Stratosphere/Resources/AppSyncDataSource.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncDataSource.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::DataSource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncDataSourceApiId
         , fmap (("Description",) . toJSON) _appSyncDataSourceDescription
         , fmap (("DynamoDBConfig",) . toJSON) _appSyncDataSourceDynamoDBConfig
diff --git a/library-gen/Stratosphere/Resources/AppSyncFunctionConfiguration.hs b/library-gen/Stratosphere/Resources/AppSyncFunctionConfiguration.hs
--- a/library-gen/Stratosphere/Resources/AppSyncFunctionConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncFunctionConfiguration.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::FunctionConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncFunctionConfigurationApiId
         , (Just . ("DataSourceName",) . toJSON) _appSyncFunctionConfigurationDataSourceName
         , fmap (("Description",) . toJSON) _appSyncFunctionConfigurationDescription
diff --git a/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs b/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
--- a/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncGraphQLApi.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::GraphQLApi"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AdditionalAuthenticationProviders",) . toJSON) _appSyncGraphQLApiAdditionalAuthenticationProviders
         , (Just . ("AuthenticationType",) . toJSON) _appSyncGraphQLApiAuthenticationType
         , fmap (("LogConfig",) . toJSON) _appSyncGraphQLApiLogConfig
diff --git a/library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs b/library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs
--- a/library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncGraphQLSchema.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::GraphQLSchema"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncGraphQLSchemaApiId
         , fmap (("Definition",) . toJSON) _appSyncGraphQLSchemaDefinition
         , fmap (("DefinitionS3Location",) . toJSON) _appSyncGraphQLSchemaDefinitionS3Location
diff --git a/library-gen/Stratosphere/Resources/AppSyncResolver.hs b/library-gen/Stratosphere/Resources/AppSyncResolver.hs
--- a/library-gen/Stratosphere/Resources/AppSyncResolver.hs
+++ b/library-gen/Stratosphere/Resources/AppSyncResolver.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AppSync::Resolver"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiId",) . toJSON) _appSyncResolverApiId
         , fmap (("CachingConfig",) . toJSON) _appSyncResolverCachingConfig
         , fmap (("DataSourceName",) . toJSON) _appSyncResolverDataSourceName
diff --git a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
--- a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalableTarget.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApplicationAutoScaling::ScalableTarget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MaxCapacity",) . toJSON) _applicationAutoScalingScalableTargetMaxCapacity
         , (Just . ("MinCapacity",) . toJSON) _applicationAutoScalingScalableTargetMinCapacity
         , (Just . ("ResourceId",) . toJSON) _applicationAutoScalingScalableTargetResourceId
diff --git a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
--- a/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationAutoScalingScalingPolicy.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApplicationAutoScaling::ScalingPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PolicyName",) . toJSON) _applicationAutoScalingScalingPolicyPolicyName
         , (Just . ("PolicyType",) . toJSON) _applicationAutoScalingScalingPolicyPolicyType
         , fmap (("ResourceId",) . toJSON) _applicationAutoScalingScalingPolicyResourceId
diff --git a/library-gen/Stratosphere/Resources/ApplicationInsightsApplication.hs b/library-gen/Stratosphere/Resources/ApplicationInsightsApplication.hs
--- a/library-gen/Stratosphere/Resources/ApplicationInsightsApplication.hs
+++ b/library-gen/Stratosphere/Resources/ApplicationInsightsApplication.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ApplicationInsights::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoConfigurationEnabled",) . toJSON) _applicationInsightsApplicationAutoConfigurationEnabled
         , fmap (("CWEMonitorEnabled",) . toJSON) _applicationInsightsApplicationCWEMonitorEnabled
         , fmap (("ComponentMonitoringSettings",) . toJSON) _applicationInsightsApplicationComponentMonitoringSettings
diff --git a/library-gen/Stratosphere/Resources/AthenaDataCatalog.hs b/library-gen/Stratosphere/Resources/AthenaDataCatalog.hs
--- a/library-gen/Stratosphere/Resources/AthenaDataCatalog.hs
+++ b/library-gen/Stratosphere/Resources/AthenaDataCatalog.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Athena::DataCatalog"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _athenaDataCatalogDescription
         , (Just . ("Name",) . toJSON) _athenaDataCatalogName
         , fmap (("Parameters",) . toJSON) _athenaDataCatalogParameters
diff --git a/library-gen/Stratosphere/Resources/AthenaNamedQuery.hs b/library-gen/Stratosphere/Resources/AthenaNamedQuery.hs
--- a/library-gen/Stratosphere/Resources/AthenaNamedQuery.hs
+++ b/library-gen/Stratosphere/Resources/AthenaNamedQuery.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Athena::NamedQuery"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Database",) . toJSON) _athenaNamedQueryDatabase
         , fmap (("Description",) . toJSON) _athenaNamedQueryDescription
         , fmap (("Name",) . toJSON) _athenaNamedQueryName
diff --git a/library-gen/Stratosphere/Resources/AthenaWorkGroup.hs b/library-gen/Stratosphere/Resources/AthenaWorkGroup.hs
--- a/library-gen/Stratosphere/Resources/AthenaWorkGroup.hs
+++ b/library-gen/Stratosphere/Resources/AthenaWorkGroup.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Athena::WorkGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _athenaWorkGroupDescription
         , (Just . ("Name",) . toJSON) _athenaWorkGroupName
         , fmap (("RecursiveDeleteOption",) . toJSON) _athenaWorkGroupRecursiveDeleteOption
diff --git a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingAutoScalingGroup.hs
@@ -50,7 +50,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScaling::AutoScalingGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoScalingGroupName",) . toJSON) _autoScalingAutoScalingGroupAutoScalingGroupName
         , fmap (("AvailabilityZones",) . toJSON) _autoScalingAutoScalingGroupAvailabilityZones
         , fmap (("Cooldown",) . toJSON) _autoScalingAutoScalingGroupCooldown
diff --git a/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs b/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingLaunchConfiguration.hs
@@ -39,7 +39,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScaling::LaunchConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssociatePublicIpAddress",) . toJSON) _autoScalingLaunchConfigurationAssociatePublicIpAddress
         , fmap (("BlockDeviceMappings",) . toJSON) _autoScalingLaunchConfigurationBlockDeviceMappings
         , fmap (("ClassicLinkVPCId",) . toJSON) _autoScalingLaunchConfigurationClassicLinkVPCId
diff --git a/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs b/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingLifecycleHook.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScaling::LifecycleHook"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingLifecycleHookAutoScalingGroupName
         , fmap (("DefaultResult",) . toJSON) _autoScalingLifecycleHookDefaultResult
         , fmap (("HeartbeatTimeout",) . toJSON) _autoScalingLifecycleHookHeartbeatTimeout
diff --git a/library-gen/Stratosphere/Resources/AutoScalingPlansScalingPlan.hs b/library-gen/Stratosphere/Resources/AutoScalingPlansScalingPlan.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingPlansScalingPlan.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingPlansScalingPlan.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScalingPlans::ScalingPlan"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationSource",) . toJSON) _autoScalingPlansScalingPlanApplicationSource
         , (Just . ("ScalingInstructions",) . toJSON) _autoScalingPlansScalingPlanScalingInstructions
         ]
diff --git a/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs b/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingScalingPolicy.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScaling::ScalingPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AdjustmentType",) . toJSON) _autoScalingScalingPolicyAdjustmentType
         , (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingScalingPolicyAutoScalingGroupName
         , fmap (("Cooldown",) . toJSON) _autoScalingScalingPolicyCooldown
diff --git a/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs b/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
--- a/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
+++ b/library-gen/Stratosphere/Resources/AutoScalingScheduledAction.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::AutoScaling::ScheduledAction"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AutoScalingGroupName",) . toJSON) _autoScalingScheduledActionAutoScalingGroupName
         , fmap (("DesiredCapacity",) . toJSON) _autoScalingScheduledActionDesiredCapacity
         , fmap (("EndTime",) . toJSON) _autoScalingScheduledActionEndTime
diff --git a/library-gen/Stratosphere/Resources/BackupBackupPlan.hs b/library-gen/Stratosphere/Resources/BackupBackupPlan.hs
--- a/library-gen/Stratosphere/Resources/BackupBackupPlan.hs
+++ b/library-gen/Stratosphere/Resources/BackupBackupPlan.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Backup::BackupPlan"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("BackupPlan",) . toJSON) _backupBackupPlanBackupPlan
         , fmap (("BackupPlanTags",) . toJSON) _backupBackupPlanBackupPlanTags
         ]
diff --git a/library-gen/Stratosphere/Resources/BackupBackupSelection.hs b/library-gen/Stratosphere/Resources/BackupBackupSelection.hs
--- a/library-gen/Stratosphere/Resources/BackupBackupSelection.hs
+++ b/library-gen/Stratosphere/Resources/BackupBackupSelection.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Backup::BackupSelection"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("BackupPlanId",) . toJSON) _backupBackupSelectionBackupPlanId
         , (Just . ("BackupSelection",) . toJSON) _backupBackupSelectionBackupSelection
         ]
diff --git a/library-gen/Stratosphere/Resources/BackupBackupVault.hs b/library-gen/Stratosphere/Resources/BackupBackupVault.hs
--- a/library-gen/Stratosphere/Resources/BackupBackupVault.hs
+++ b/library-gen/Stratosphere/Resources/BackupBackupVault.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Backup::BackupVault"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessPolicy",) . toJSON) _backupBackupVaultAccessPolicy
         , (Just . ("BackupVaultName",) . toJSON) _backupBackupVaultBackupVaultName
         , fmap (("BackupVaultTags",) . toJSON) _backupBackupVaultBackupVaultTags
diff --git a/library-gen/Stratosphere/Resources/BatchComputeEnvironment.hs b/library-gen/Stratosphere/Resources/BatchComputeEnvironment.hs
--- a/library-gen/Stratosphere/Resources/BatchComputeEnvironment.hs
+++ b/library-gen/Stratosphere/Resources/BatchComputeEnvironment.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Batch::ComputeEnvironment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ComputeEnvironmentName",) . toJSON) _batchComputeEnvironmentComputeEnvironmentName
         , fmap (("ComputeResources",) . toJSON) _batchComputeEnvironmentComputeResources
         , (Just . ("ServiceRole",) . toJSON) _batchComputeEnvironmentServiceRole
diff --git a/library-gen/Stratosphere/Resources/BatchJobDefinition.hs b/library-gen/Stratosphere/Resources/BatchJobDefinition.hs
--- a/library-gen/Stratosphere/Resources/BatchJobDefinition.hs
+++ b/library-gen/Stratosphere/Resources/BatchJobDefinition.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Batch::JobDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ContainerProperties",) . toJSON) _batchJobDefinitionContainerProperties
         , fmap (("JobDefinitionName",) . toJSON) _batchJobDefinitionJobDefinitionName
         , fmap (("NodeProperties",) . toJSON) _batchJobDefinitionNodeProperties
diff --git a/library-gen/Stratosphere/Resources/BatchJobQueue.hs b/library-gen/Stratosphere/Resources/BatchJobQueue.hs
--- a/library-gen/Stratosphere/Resources/BatchJobQueue.hs
+++ b/library-gen/Stratosphere/Resources/BatchJobQueue.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Batch::JobQueue"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ComputeEnvironmentOrder",) . toJSON) _batchJobQueueComputeEnvironmentOrder
         , fmap (("JobQueueName",) . toJSON) _batchJobQueueJobQueueName
         , (Just . ("Priority",) . toJSON) _batchJobQueuePriority
diff --git a/library-gen/Stratosphere/Resources/BudgetsBudget.hs b/library-gen/Stratosphere/Resources/BudgetsBudget.hs
--- a/library-gen/Stratosphere/Resources/BudgetsBudget.hs
+++ b/library-gen/Stratosphere/Resources/BudgetsBudget.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Budgets::Budget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Budget",) . toJSON) _budgetsBudgetBudget
         , fmap (("NotificationsWithSubscribers",) . toJSON) _budgetsBudgetNotificationsWithSubscribers
         ]
diff --git a/library-gen/Stratosphere/Resources/CECostCategory.hs b/library-gen/Stratosphere/Resources/CECostCategory.hs
--- a/library-gen/Stratosphere/Resources/CECostCategory.hs
+++ b/library-gen/Stratosphere/Resources/CECostCategory.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CE::CostCategory"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _cECostCategoryName
         , (Just . ("RuleVersion",) . toJSON) _cECostCategoryRuleVersion
         , (Just . ("Rules",) . toJSON) _cECostCategoryRules
diff --git a/library-gen/Stratosphere/Resources/CassandraKeyspace.hs b/library-gen/Stratosphere/Resources/CassandraKeyspace.hs
--- a/library-gen/Stratosphere/Resources/CassandraKeyspace.hs
+++ b/library-gen/Stratosphere/Resources/CassandraKeyspace.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cassandra::Keyspace"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("KeyspaceName",) . toJSON) _cassandraKeyspaceKeyspaceName
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/CassandraTable.hs b/library-gen/Stratosphere/Resources/CassandraTable.hs
--- a/library-gen/Stratosphere/Resources/CassandraTable.hs
+++ b/library-gen/Stratosphere/Resources/CassandraTable.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cassandra::Table"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BillingMode",) . toJSON) _cassandraTableBillingMode
         , fmap (("ClusteringKeyColumns",) . toJSON) _cassandraTableClusteringKeyColumns
         , (Just . ("KeyspaceName",) . toJSON) _cassandraTableKeyspaceName
diff --git a/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs b/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
--- a/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
+++ b/library-gen/Stratosphere/Resources/CertificateManagerCertificate.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CertificateManager::Certificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CertificateAuthorityArn",) . toJSON) _certificateManagerCertificateCertificateAuthorityArn
         , fmap (("CertificateTransparencyLoggingPreference",) . toJSON) _certificateManagerCertificateCertificateTransparencyLoggingPreference
         , (Just . ("DomainName",) . toJSON) _certificateManagerCertificateDomainName
diff --git a/library-gen/Stratosphere/Resources/ChatbotSlackChannelConfiguration.hs b/library-gen/Stratosphere/Resources/ChatbotSlackChannelConfiguration.hs
--- a/library-gen/Stratosphere/Resources/ChatbotSlackChannelConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/ChatbotSlackChannelConfiguration.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Chatbot::SlackChannelConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConfigurationName",) . toJSON) _chatbotSlackChannelConfigurationConfigurationName
         , (Just . ("IamRoleArn",) . toJSON) _chatbotSlackChannelConfigurationIamRoleArn
         , fmap (("LoggingLevel",) . toJSON) _chatbotSlackChannelConfigurationLoggingLevel
diff --git a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
--- a/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
+++ b/library-gen/Stratosphere/Resources/Cloud9EnvironmentEC2.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cloud9::EnvironmentEC2"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutomaticStopTimeMinutes",) . toJSON) _cloud9EnvironmentEC2AutomaticStopTimeMinutes
         , fmap (("ConnectionType",) . toJSON) _cloud9EnvironmentEC2ConnectionType
         , fmap (("Description",) . toJSON) _cloud9EnvironmentEC2Description
diff --git a/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs b/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationCustomResource.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFormation::CustomResource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ServiceToken",) . toJSON) _cloudFormationCustomResourceServiceToken
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/CloudFormationMacro.hs b/library-gen/Stratosphere/Resources/CloudFormationMacro.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationMacro.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationMacro.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFormation::Macro"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _cloudFormationMacroDescription
         , (Just . ("FunctionName",) . toJSON) _cloudFormationMacroFunctionName
         , fmap (("LogGroupName",) . toJSON) _cloudFormationMacroLogGroupName
diff --git a/library-gen/Stratosphere/Resources/CloudFormationStack.hs b/library-gen/Stratosphere/Resources/CloudFormationStack.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationStack.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationStack.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFormation::Stack"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("NotificationARNs",) . toJSON) _cloudFormationStackNotificationARNs
         , fmap (("Parameters",) . toJSON) _cloudFormationStackParameters
         , fmap (("Tags",) . toJSON) _cloudFormationStackTags
diff --git a/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs b/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationWaitCondition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFormation::WaitCondition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Count",) . toJSON) _cloudFormationWaitConditionCount
         , fmap (("Handle",) . toJSON) _cloudFormationWaitConditionHandle
         , fmap (("Timeout",) . toJSON) _cloudFormationWaitConditionTimeout
diff --git a/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs b/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
--- a/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
+++ b/library-gen/Stratosphere/Resources/CloudFormationWaitConditionHandle.hs
@@ -21,7 +21,7 @@
   toResourceProperties _ =
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFormation::WaitConditionHandle"
-    , resourcePropertiesProperties = hashMapEmpty
+    , resourcePropertiesProperties = keyMapEmpty
     }
 
 -- | Constructor for 'CloudFormationWaitConditionHandle' containing required
diff --git a/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs b/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontCachePolicy.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::CachePolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CachePolicyConfig",) . toJSON) _cloudFrontCachePolicyCachePolicyConfig
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/CloudFrontCloudFrontOriginAccessIdentity.hs b/library-gen/Stratosphere/Resources/CloudFrontCloudFrontOriginAccessIdentity.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontCloudFrontOriginAccessIdentity.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontCloudFrontOriginAccessIdentity.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::CloudFrontOriginAccessIdentity"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CloudFrontOriginAccessIdentityConfig",) . toJSON) _cloudFrontCloudFrontOriginAccessIdentityCloudFrontOriginAccessIdentityConfig
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs b/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontDistribution.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::Distribution"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DistributionConfig",) . toJSON) _cloudFrontDistributionDistributionConfig
         , fmap (("Tags",) . toJSON) _cloudFrontDistributionTags
         ]
diff --git a/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs b/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontOriginRequestPolicy.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::OriginRequestPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("OriginRequestPolicyConfig",) . toJSON) _cloudFrontOriginRequestPolicyOriginRequestPolicyConfig
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs b/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontRealtimeLogConfig.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::RealtimeLogConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("EndPoints",) . toJSON) _cloudFrontRealtimeLogConfigEndPoints
         , (Just . ("Fields",) . toJSON) _cloudFrontRealtimeLogConfigFields
         , (Just . ("Name",) . toJSON) _cloudFrontRealtimeLogConfigName
diff --git a/library-gen/Stratosphere/Resources/CloudFrontStreamingDistribution.hs b/library-gen/Stratosphere/Resources/CloudFrontStreamingDistribution.hs
--- a/library-gen/Stratosphere/Resources/CloudFrontStreamingDistribution.hs
+++ b/library-gen/Stratosphere/Resources/CloudFrontStreamingDistribution.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudFront::StreamingDistribution"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("StreamingDistributionConfig",) . toJSON) _cloudFrontStreamingDistributionStreamingDistributionConfig
         , (Just . ("Tags",) . toJSON) _cloudFrontStreamingDistributionTags
         ]
diff --git a/library-gen/Stratosphere/Resources/CloudTrailTrail.hs b/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
--- a/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
+++ b/library-gen/Stratosphere/Resources/CloudTrailTrail.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudTrail::Trail"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CloudWatchLogsLogGroupArn",) . toJSON) _cloudTrailTrailCloudWatchLogsLogGroupArn
         , fmap (("CloudWatchLogsRoleArn",) . toJSON) _cloudTrailTrailCloudWatchLogsRoleArn
         , fmap (("EnableLogFileValidation",) . toJSON) _cloudTrailTrailEnableLogFileValidation
diff --git a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchAlarm.hs
@@ -43,7 +43,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudWatch::Alarm"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ActionsEnabled",) . toJSON) _cloudWatchAlarmActionsEnabled
         , fmap (("AlarmActions",) . toJSON) _cloudWatchAlarmAlarmActions
         , fmap (("AlarmDescription",) . toJSON) _cloudWatchAlarmAlarmDescription
diff --git a/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs b/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchAnomalyDetector.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudWatch::AnomalyDetector"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Configuration",) . toJSON) _cloudWatchAnomalyDetectorConfiguration
         , fmap (("Dimensions",) . toJSON) _cloudWatchAnomalyDetectorDimensions
         , (Just . ("MetricName",) . toJSON) _cloudWatchAnomalyDetectorMetricName
diff --git a/library-gen/Stratosphere/Resources/CloudWatchCompositeAlarm.hs b/library-gen/Stratosphere/Resources/CloudWatchCompositeAlarm.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchCompositeAlarm.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchCompositeAlarm.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudWatch::CompositeAlarm"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ActionsEnabled",) . toJSON) _cloudWatchCompositeAlarmActionsEnabled
         , fmap (("AlarmActions",) . toJSON) _cloudWatchCompositeAlarmAlarmActions
         , fmap (("AlarmDescription",) . toJSON) _cloudWatchCompositeAlarmAlarmDescription
diff --git a/library-gen/Stratosphere/Resources/CloudWatchDashboard.hs b/library-gen/Stratosphere/Resources/CloudWatchDashboard.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchDashboard.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchDashboard.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudWatch::Dashboard"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DashboardBody",) . toJSON) _cloudWatchDashboardDashboardBody
         , fmap (("DashboardName",) . toJSON) _cloudWatchDashboardDashboardName
         ]
diff --git a/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs b/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs
--- a/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs
+++ b/library-gen/Stratosphere/Resources/CloudWatchInsightRule.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CloudWatch::InsightRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("RuleBody",) . toJSON) _cloudWatchInsightRuleRuleBody
         , (Just . ("RuleName",) . toJSON) _cloudWatchInsightRuleRuleName
         , (Just . ("RuleState",) . toJSON) _cloudWatchInsightRuleRuleState
diff --git a/library-gen/Stratosphere/Resources/CodeBuildProject.hs b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildProject.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildProject.hs
@@ -52,7 +52,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeBuild::Project"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Artifacts",) . toJSON) _codeBuildProjectArtifacts
         , fmap (("BadgeEnabled",) . toJSON) _codeBuildProjectBadgeEnabled
         , fmap (("BuildBatchConfig",) . toJSON) _codeBuildProjectBuildBatchConfig
diff --git a/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs b/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildReportGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeBuild::ReportGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ExportConfig",) . toJSON) _codeBuildReportGroupExportConfig
         , fmap (("Name",) . toJSON) _codeBuildReportGroupName
         , fmap (("Tags",) . toJSON) _codeBuildReportGroupTags
diff --git a/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs b/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs
--- a/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs
+++ b/library-gen/Stratosphere/Resources/CodeBuildSourceCredential.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeBuild::SourceCredential"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthType",) . toJSON) _codeBuildSourceCredentialAuthType
         , (Just . ("ServerType",) . toJSON) _codeBuildSourceCredentialServerType
         , (Just . ("Token",) . toJSON) _codeBuildSourceCredentialToken
diff --git a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
--- a/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
+++ b/library-gen/Stratosphere/Resources/CodeCommitRepository.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeCommit::Repository"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Code",) . toJSON) _codeCommitRepositoryCode
         , fmap (("RepositoryDescription",) . toJSON) _codeCommitRepositoryRepositoryDescription
         , (Just . ("RepositoryName",) . toJSON) _codeCommitRepositoryRepositoryName
diff --git a/library-gen/Stratosphere/Resources/CodeDeployApplication.hs b/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployApplication.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeDeploy::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApplicationName",) . toJSON) _codeDeployApplicationApplicationName
         , fmap (("ComputePlatform",) . toJSON) _codeDeployApplicationComputePlatform
         ]
diff --git a/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs b/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployDeploymentConfig.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeDeploy::DeploymentConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeploymentConfigName",) . toJSON) _codeDeployDeploymentConfigDeploymentConfigName
         , fmap (("MinimumHealthyHosts",) . toJSON) _codeDeployDeploymentConfigMinimumHealthyHosts
         ]
diff --git a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeDeployDeploymentGroup.hs
@@ -45,7 +45,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeDeploy::DeploymentGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AlarmConfiguration",) . toJSON) _codeDeployDeploymentGroupAlarmConfiguration
         , (Just . ("ApplicationName",) . toJSON) _codeDeployDeploymentGroupApplicationName
         , fmap (("AutoRollbackConfiguration",) . toJSON) _codeDeployDeploymentGroupAutoRollbackConfiguration
diff --git a/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
--- a/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
+++ b/library-gen/Stratosphere/Resources/CodeGuruProfilerProfilingGroup.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeGuruProfiler::ProfilingGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AgentPermissions",) . toJSON) _codeGuruProfilerProfilingGroupAgentPermissions
         , fmap (("AnomalyDetectionNotificationConfiguration",) . toJSON) _codeGuruProfilerProfilingGroupAnomalyDetectionNotificationConfiguration
         , fmap (("ComputePlatform",) . toJSON) _codeGuruProfilerProfilingGroupComputePlatform
diff --git a/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs b/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs
--- a/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs
+++ b/library-gen/Stratosphere/Resources/CodeGuruReviewerRepositoryAssociation.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeGuruReviewer::RepositoryAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConnectionArn",) . toJSON) _codeGuruReviewerRepositoryAssociationConnectionArn
         , (Just . ("Name",) . toJSON) _codeGuruReviewerRepositoryAssociationName
         , fmap (("Owner",) . toJSON) _codeGuruReviewerRepositoryAssociationOwner
diff --git a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
--- a/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelineCustomActionType.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodePipeline::CustomActionType"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Category",) . toJSON) _codePipelineCustomActionTypeCategory
         , fmap (("ConfigurationProperties",) . toJSON) _codePipelineCustomActionTypeConfigurationProperties
         , (Just . ("InputArtifactDetails",) . toJSON) _codePipelineCustomActionTypeInputArtifactDetails
diff --git a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
--- a/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelinePipeline.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodePipeline::Pipeline"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ArtifactStore",) . toJSON) _codePipelinePipelineArtifactStore
         , fmap (("ArtifactStores",) . toJSON) _codePipelinePipelineArtifactStores
         , fmap (("DisableInboundStageTransitions",) . toJSON) _codePipelinePipelineDisableInboundStageTransitions
diff --git a/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs b/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
--- a/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
+++ b/library-gen/Stratosphere/Resources/CodePipelineWebhook.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodePipeline::Webhook"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Authentication",) . toJSON) _codePipelineWebhookAuthentication
         , (Just . ("AuthenticationConfiguration",) . toJSON) _codePipelineWebhookAuthenticationConfiguration
         , (Just . ("Filters",) . toJSON) _codePipelineWebhookFilters
diff --git a/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs b/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
--- a/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
+++ b/library-gen/Stratosphere/Resources/CodeStarConnectionsConnection.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeStarConnections::Connection"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConnectionName",) . toJSON) _codeStarConnectionsConnectionConnectionName
         , fmap (("HostArn",) . toJSON) _codeStarConnectionsConnectionHostArn
         , fmap (("ProviderType",) . toJSON) _codeStarConnectionsConnectionProviderType
diff --git a/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs b/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs
--- a/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs
+++ b/library-gen/Stratosphere/Resources/CodeStarGitHubRepository.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeStar::GitHubRepository"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Code",) . toJSON) _codeStarGitHubRepositoryCode
         , fmap (("EnableIssues",) . toJSON) _codeStarGitHubRepositoryEnableIssues
         , fmap (("IsPrivate",) . toJSON) _codeStarGitHubRepositoryIsPrivate
diff --git a/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs b/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs
--- a/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs
+++ b/library-gen/Stratosphere/Resources/CodeStarNotificationsNotificationRule.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::CodeStarNotifications::NotificationRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DetailType",) . toJSON) _codeStarNotificationsNotificationRuleDetailType
         , (Just . ("EventTypeIds",) . toJSON) _codeStarNotificationsNotificationRuleEventTypeIds
         , (Just . ("Name",) . toJSON) _codeStarNotificationsNotificationRuleName
diff --git a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoIdentityPool.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::IdentityPool"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowClassicFlow",) . toJSON) _cognitoIdentityPoolAllowClassicFlow
         , (Just . ("AllowUnauthenticatedIdentities",) . toJSON) _cognitoIdentityPoolAllowUnauthenticatedIdentities
         , fmap (("CognitoEvents",) . toJSON) _cognitoIdentityPoolCognitoEvents
diff --git a/library-gen/Stratosphere/Resources/CognitoIdentityPoolRoleAttachment.hs b/library-gen/Stratosphere/Resources/CognitoIdentityPoolRoleAttachment.hs
--- a/library-gen/Stratosphere/Resources/CognitoIdentityPoolRoleAttachment.hs
+++ b/library-gen/Stratosphere/Resources/CognitoIdentityPoolRoleAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::IdentityPoolRoleAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("IdentityPoolId",) . toJSON) _cognitoIdentityPoolRoleAttachmentIdentityPoolId
         , fmap (("RoleMappings",) . toJSON) _cognitoIdentityPoolRoleAttachmentRoleMappings
         , fmap (("Roles",) . toJSON) _cognitoIdentityPoolRoleAttachmentRoles
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPool.hs b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPool.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPool.hs
@@ -53,7 +53,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPool"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccountRecoverySetting",) . toJSON) _cognitoUserPoolAccountRecoverySetting
         , fmap (("AdminCreateUserConfig",) . toJSON) _cognitoUserPoolAdminCreateUserConfig
         , fmap (("AliasAttributes",) . toJSON) _cognitoUserPoolAliasAttributes
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolClient.hs
@@ -39,7 +39,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolClient"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessTokenValidity",) . toJSON) _cognitoUserPoolClientAccessTokenValidity
         , fmap (("AllowedOAuthFlows",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlows
         , fmap (("AllowedOAuthFlowsUserPoolClient",) . toJSON) _cognitoUserPoolClientAllowedOAuthFlowsUserPoolClient
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolDomain.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolDomain"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CustomDomainConfig",) . toJSON) _cognitoUserPoolDomainCustomDomainConfig
         , (Just . ("Domain",) . toJSON) _cognitoUserPoolDomainDomain
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolDomainUserPoolId
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _cognitoUserPoolGroupDescription
         , fmap (("GroupName",) . toJSON) _cognitoUserPoolGroupGroupName
         , fmap (("Precedence",) . toJSON) _cognitoUserPoolGroupPrecedence
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolIdentityProvider.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolIdentityProvider"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AttributeMapping",) . toJSON) _cognitoUserPoolIdentityProviderAttributeMapping
         , fmap (("IdpIdentifiers",) . toJSON) _cognitoUserPoolIdentityProviderIdpIdentifiers
         , fmap (("ProviderDetails",) . toJSON) _cognitoUserPoolIdentityProviderProviderDetails
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolResourceServer.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolResourceServer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Identifier",) . toJSON) _cognitoUserPoolResourceServerIdentifier
         , (Just . ("Name",) . toJSON) _cognitoUserPoolResourceServerName
         , fmap (("Scopes",) . toJSON) _cognitoUserPoolResourceServerScopes
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolRiskConfigurationAttachment.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolRiskConfigurationAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccountTakeoverRiskConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfiguration
         , (Just . ("ClientId",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentClientId
         , fmap (("CompromisedCredentialsRiskConfiguration",) . toJSON) _cognitoUserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfiguration
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUICustomizationAttachment.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolUICustomizationAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CSS",) . toJSON) _cognitoUserPoolUICustomizationAttachmentCSS
         , (Just . ("ClientId",) . toJSON) _cognitoUserPoolUICustomizationAttachmentClientId
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolUICustomizationAttachmentUserPoolId
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUser.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolUser"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ClientMetadata",) . toJSON) _cognitoUserPoolUserClientMetadata
         , fmap (("DesiredDeliveryMediums",) . toJSON) _cognitoUserPoolUserDesiredDeliveryMediums
         , fmap (("ForceAliasCreation",) . toJSON) _cognitoUserPoolUserForceAliasCreation
diff --git a/library-gen/Stratosphere/Resources/CognitoUserPoolUserToGroupAttachment.hs b/library-gen/Stratosphere/Resources/CognitoUserPoolUserToGroupAttachment.hs
--- a/library-gen/Stratosphere/Resources/CognitoUserPoolUserToGroupAttachment.hs
+++ b/library-gen/Stratosphere/Resources/CognitoUserPoolUserToGroupAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Cognito::UserPoolUserToGroupAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GroupName",) . toJSON) _cognitoUserPoolUserToGroupAttachmentGroupName
         , (Just . ("UserPoolId",) . toJSON) _cognitoUserPoolUserToGroupAttachmentUserPoolId
         , (Just . ("Username",) . toJSON) _cognitoUserPoolUserToGroupAttachmentUsername
diff --git a/library-gen/Stratosphere/Resources/ConfigAggregationAuthorization.hs b/library-gen/Stratosphere/Resources/ConfigAggregationAuthorization.hs
--- a/library-gen/Stratosphere/Resources/ConfigAggregationAuthorization.hs
+++ b/library-gen/Stratosphere/Resources/ConfigAggregationAuthorization.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::AggregationAuthorization"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthorizedAccountId",) . toJSON) _configAggregationAuthorizationAuthorizedAccountId
         , (Just . ("AuthorizedAwsRegion",) . toJSON) _configAggregationAuthorizationAuthorizedAwsRegion
         , fmap (("Tags",) . toJSON) _configAggregationAuthorizationTags
diff --git a/library-gen/Stratosphere/Resources/ConfigConfigRule.hs b/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
--- a/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConfigRule.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::ConfigRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConfigRuleName",) . toJSON) _configConfigRuleConfigRuleName
         , fmap (("Description",) . toJSON) _configConfigRuleDescription
         , fmap (("InputParameters",) . toJSON) _configConfigRuleInputParameters
diff --git a/library-gen/Stratosphere/Resources/ConfigConfigurationAggregator.hs b/library-gen/Stratosphere/Resources/ConfigConfigurationAggregator.hs
--- a/library-gen/Stratosphere/Resources/ConfigConfigurationAggregator.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConfigurationAggregator.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::ConfigurationAggregator"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccountAggregationSources",) . toJSON) _configConfigurationAggregatorAccountAggregationSources
         , (Just . ("ConfigurationAggregatorName",) . toJSON) _configConfigurationAggregatorConfigurationAggregatorName
         , fmap (("OrganizationAggregationSource",) . toJSON) _configConfigurationAggregatorOrganizationAggregationSource
diff --git a/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs b/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
--- a/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConfigurationRecorder.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::ConfigurationRecorder"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _configConfigurationRecorderName
         , fmap (("RecordingGroup",) . toJSON) _configConfigurationRecorderRecordingGroup
         , (Just . ("RoleARN",) . toJSON) _configConfigurationRecorderRoleARN
diff --git a/library-gen/Stratosphere/Resources/ConfigConformancePack.hs b/library-gen/Stratosphere/Resources/ConfigConformancePack.hs
--- a/library-gen/Stratosphere/Resources/ConfigConformancePack.hs
+++ b/library-gen/Stratosphere/Resources/ConfigConformancePack.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::ConformancePack"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConformancePackInputParameters",) . toJSON) _configConformancePackConformancePackInputParameters
         , (Just . ("ConformancePackName",) . toJSON) _configConformancePackConformancePackName
         , (Just . ("DeliveryS3Bucket",) . toJSON) _configConformancePackDeliveryS3Bucket
diff --git a/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs b/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
--- a/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
+++ b/library-gen/Stratosphere/Resources/ConfigDeliveryChannel.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::DeliveryChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConfigSnapshotDeliveryProperties",) . toJSON) _configDeliveryChannelConfigSnapshotDeliveryProperties
         , fmap (("Name",) . toJSON) _configDeliveryChannelName
         , (Just . ("S3BucketName",) . toJSON) _configDeliveryChannelS3BucketName
diff --git a/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs b/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs
--- a/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs
+++ b/library-gen/Stratosphere/Resources/ConfigOrganizationConfigRule.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::OrganizationConfigRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ExcludedAccounts",) . toJSON) _configOrganizationConfigRuleExcludedAccounts
         , (Just . ("OrganizationConfigRuleName",) . toJSON) _configOrganizationConfigRuleOrganizationConfigRuleName
         , fmap (("OrganizationCustomRuleMetadata",) . toJSON) _configOrganizationConfigRuleOrganizationCustomRuleMetadata
diff --git a/library-gen/Stratosphere/Resources/ConfigOrganizationConformancePack.hs b/library-gen/Stratosphere/Resources/ConfigOrganizationConformancePack.hs
--- a/library-gen/Stratosphere/Resources/ConfigOrganizationConformancePack.hs
+++ b/library-gen/Stratosphere/Resources/ConfigOrganizationConformancePack.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::OrganizationConformancePack"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConformancePackInputParameters",) . toJSON) _configOrganizationConformancePackConformancePackInputParameters
         , (Just . ("DeliveryS3Bucket",) . toJSON) _configOrganizationConformancePackDeliveryS3Bucket
         , fmap (("DeliveryS3KeyPrefix",) . toJSON) _configOrganizationConformancePackDeliveryS3KeyPrefix
diff --git a/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs b/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
--- a/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/ConfigRemediationConfiguration.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Config::RemediationConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Automatic",) . toJSON) _configRemediationConfigurationAutomatic
         , (Just . ("ConfigRuleName",) . toJSON) _configRemediationConfigurationConfigRuleName
         , fmap (("ExecutionControls",) . toJSON) _configRemediationConfigurationExecutionControls
diff --git a/library-gen/Stratosphere/Resources/DAXCluster.hs b/library-gen/Stratosphere/Resources/DAXCluster.hs
--- a/library-gen/Stratosphere/Resources/DAXCluster.hs
+++ b/library-gen/Stratosphere/Resources/DAXCluster.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DAX::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AvailabilityZones",) . toJSON) _dAXClusterAvailabilityZones
         , fmap (("ClusterName",) . toJSON) _dAXClusterClusterName
         , fmap (("Description",) . toJSON) _dAXClusterDescription
diff --git a/library-gen/Stratosphere/Resources/DAXParameterGroup.hs b/library-gen/Stratosphere/Resources/DAXParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/DAXParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/DAXParameterGroup.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DAX::ParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _dAXParameterGroupDescription
         , fmap (("ParameterGroupName",) . toJSON) _dAXParameterGroupParameterGroupName
         , fmap (("ParameterNameValues",) . toJSON) _dAXParameterGroupParameterNameValues
diff --git a/library-gen/Stratosphere/Resources/DAXSubnetGroup.hs b/library-gen/Stratosphere/Resources/DAXSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/DAXSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/DAXSubnetGroup.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DAX::SubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _dAXSubnetGroupDescription
         , fmap (("SubnetGroupName",) . toJSON) _dAXSubnetGroupSubnetGroupName
         , (Just . ("SubnetIds",) . toJSON) _dAXSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/DLMLifecyclePolicy.hs b/library-gen/Stratosphere/Resources/DLMLifecyclePolicy.hs
--- a/library-gen/Stratosphere/Resources/DLMLifecyclePolicy.hs
+++ b/library-gen/Stratosphere/Resources/DLMLifecyclePolicy.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DLM::LifecyclePolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _dLMLifecyclePolicyDescription
         , fmap (("ExecutionRoleArn",) . toJSON) _dLMLifecyclePolicyExecutionRoleArn
         , fmap (("PolicyDetails",) . toJSON) _dLMLifecyclePolicyPolicyDetails
diff --git a/library-gen/Stratosphere/Resources/DMSCertificate.hs b/library-gen/Stratosphere/Resources/DMSCertificate.hs
--- a/library-gen/Stratosphere/Resources/DMSCertificate.hs
+++ b/library-gen/Stratosphere/Resources/DMSCertificate.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::Certificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CertificateIdentifier",) . toJSON) _dMSCertificateCertificateIdentifier
         , fmap (("CertificatePem",) . toJSON) _dMSCertificateCertificatePem
         , fmap (("CertificateWallet",) . toJSON) _dMSCertificateCertificateWallet
diff --git a/library-gen/Stratosphere/Resources/DMSEndpoint.hs b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
--- a/library-gen/Stratosphere/Resources/DMSEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/DMSEndpoint.hs
@@ -48,7 +48,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::Endpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CertificateArn",) . toJSON) _dMSEndpointCertificateArn
         , fmap (("DatabaseName",) . toJSON) _dMSEndpointDatabaseName
         , fmap (("DynamoDbSettings",) . toJSON) _dMSEndpointDynamoDbSettings
diff --git a/library-gen/Stratosphere/Resources/DMSEventSubscription.hs b/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
--- a/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
+++ b/library-gen/Stratosphere/Resources/DMSEventSubscription.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::EventSubscription"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Enabled",) . toJSON) _dMSEventSubscriptionEnabled
         , fmap (("EventCategories",) . toJSON) _dMSEventSubscriptionEventCategories
         , (Just . ("SnsTopicArn",) . toJSON) _dMSEventSubscriptionSnsTopicArn
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs b/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationInstance.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::ReplicationInstance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllocatedStorage",) . toJSON) _dMSReplicationInstanceAllocatedStorage
         , fmap (("AllowMajorVersionUpgrade",) . toJSON) _dMSReplicationInstanceAllowMajorVersionUpgrade
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _dMSReplicationInstanceAutoMinorVersionUpgrade
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationSubnetGroup.hs b/library-gen/Stratosphere/Resources/DMSReplicationSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationSubnetGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::ReplicationSubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ReplicationSubnetGroupDescription",) . toJSON) _dMSReplicationSubnetGroupReplicationSubnetGroupDescription
         , fmap (("ReplicationSubnetGroupIdentifier",) . toJSON) _dMSReplicationSubnetGroupReplicationSubnetGroupIdentifier
         , (Just . ("SubnetIds",) . toJSON) _dMSReplicationSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
--- a/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
+++ b/library-gen/Stratosphere/Resources/DMSReplicationTask.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DMS::ReplicationTask"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CdcStartPosition",) . toJSON) _dMSReplicationTaskCdcStartPosition
         , fmap (("CdcStartTime",) . toJSON) _dMSReplicationTaskCdcStartTime
         , fmap (("CdcStopPosition",) . toJSON) _dMSReplicationTaskCdcStopPosition
diff --git a/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs b/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
--- a/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
+++ b/library-gen/Stratosphere/Resources/DataPipelinePipeline.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DataPipeline::Pipeline"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Activate",) . toJSON) _dataPipelinePipelineActivate
         , fmap (("Description",) . toJSON) _dataPipelinePipelineDescription
         , (Just . ("Name",) . toJSON) _dataPipelinePipelineName
diff --git a/library-gen/Stratosphere/Resources/DetectiveGraph.hs b/library-gen/Stratosphere/Resources/DetectiveGraph.hs
--- a/library-gen/Stratosphere/Resources/DetectiveGraph.hs
+++ b/library-gen/Stratosphere/Resources/DetectiveGraph.hs
@@ -21,7 +21,7 @@
   toResourceProperties _ =
     ResourceProperties
     { resourcePropertiesType = "AWS::Detective::Graph"
-    , resourcePropertiesProperties = hashMapEmpty
+    , resourcePropertiesProperties = keyMapEmpty
     }
 
 -- | Constructor for 'DetectiveGraph' containing required fields as arguments.
diff --git a/library-gen/Stratosphere/Resources/DetectiveMemberInvitation.hs b/library-gen/Stratosphere/Resources/DetectiveMemberInvitation.hs
--- a/library-gen/Stratosphere/Resources/DetectiveMemberInvitation.hs
+++ b/library-gen/Stratosphere/Resources/DetectiveMemberInvitation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Detective::MemberInvitation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GraphArn",) . toJSON) _detectiveMemberInvitationGraphArn
         , (Just . ("MemberEmailAddress",) . toJSON) _detectiveMemberInvitationMemberEmailAddress
         , (Just . ("MemberId",) . toJSON) _detectiveMemberInvitationMemberId
diff --git a/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs b/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
--- a/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
+++ b/library-gen/Stratosphere/Resources/DirectoryServiceMicrosoftAD.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DirectoryService::MicrosoftAD"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CreateAlias",) . toJSON) _directoryServiceMicrosoftADCreateAlias
         , fmap (("Edition",) . toJSON) _directoryServiceMicrosoftADEdition
         , fmap (("EnableSso",) . toJSON) _directoryServiceMicrosoftADEnableSso
diff --git a/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs b/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
--- a/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
+++ b/library-gen/Stratosphere/Resources/DirectoryServiceSimpleAD.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DirectoryService::SimpleAD"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CreateAlias",) . toJSON) _directoryServiceSimpleADCreateAlias
         , fmap (("Description",) . toJSON) _directoryServiceSimpleADDescription
         , fmap (("EnableSso",) . toJSON) _directoryServiceSimpleADEnableSso
diff --git a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBCluster.hs
@@ -39,7 +39,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DocDB::DBCluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AvailabilityZones",) . toJSON) _docDBDBClusterAvailabilityZones
         , fmap (("BackupRetentionPeriod",) . toJSON) _docDBDBClusterBackupRetentionPeriod
         , fmap (("DBClusterIdentifier",) . toJSON) _docDBDBClusterDBClusterIdentifier
diff --git a/library-gen/Stratosphere/Resources/DocDBDBClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/DocDBDBClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBClusterParameterGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DocDB::DBClusterParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _docDBDBClusterParameterGroupDescription
         , (Just . ("Family",) . toJSON) _docDBDBClusterParameterGroupFamily
         , fmap (("Name",) . toJSON) _docDBDBClusterParameterGroupName
diff --git a/library-gen/Stratosphere/Resources/DocDBDBInstance.hs b/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBInstance.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DocDB::DBInstance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoMinorVersionUpgrade",) . toJSON) _docDBDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _docDBDBInstanceAvailabilityZone
         , (Just . ("DBClusterIdentifier",) . toJSON) _docDBDBInstanceDBClusterIdentifier
diff --git a/library-gen/Stratosphere/Resources/DocDBDBSubnetGroup.hs b/library-gen/Stratosphere/Resources/DocDBDBSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/DocDBDBSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/DocDBDBSubnetGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DocDB::DBSubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DBSubnetGroupDescription",) . toJSON) _docDBDBSubnetGroupDBSubnetGroupDescription
         , fmap (("DBSubnetGroupName",) . toJSON) _docDBDBSubnetGroupDBSubnetGroupName
         , (Just . ("SubnetIds",) . toJSON) _docDBDBSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/DynamoDBTable.hs b/library-gen/Stratosphere/Resources/DynamoDBTable.hs
--- a/library-gen/Stratosphere/Resources/DynamoDBTable.hs
+++ b/library-gen/Stratosphere/Resources/DynamoDBTable.hs
@@ -42,7 +42,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::DynamoDB::Table"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AttributeDefinitions",) . toJSON) _dynamoDBTableAttributeDefinitions
         , fmap (("BillingMode",) . toJSON) _dynamoDBTableBillingMode
         , fmap (("GlobalSecondaryIndexes",) . toJSON) _dynamoDBTableGlobalSecondaryIndexes
diff --git a/library-gen/Stratosphere/Resources/EC2CapacityReservation.hs b/library-gen/Stratosphere/Resources/EC2CapacityReservation.hs
--- a/library-gen/Stratosphere/Resources/EC2CapacityReservation.hs
+++ b/library-gen/Stratosphere/Resources/EC2CapacityReservation.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::CapacityReservation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AvailabilityZone",) . toJSON) _eC2CapacityReservationAvailabilityZone
         , fmap (("EbsOptimized",) . toJSON) _eC2CapacityReservationEbsOptimized
         , fmap (("EndDate",) . toJSON) _eC2CapacityReservationEndDate
diff --git a/library-gen/Stratosphere/Resources/EC2CarrierGateway.hs b/library-gen/Stratosphere/Resources/EC2CarrierGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2CarrierGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2CarrierGateway.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::CarrierGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _eC2CarrierGatewayTags
         , (Just . ("VpcId",) . toJSON) _eC2CarrierGatewayVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnAuthorizationRule.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnAuthorizationRule.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnAuthorizationRule.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnAuthorizationRule.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::ClientVpnAuthorizationRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessGroupId",) . toJSON) _eC2ClientVpnAuthorizationRuleAccessGroupId
         , fmap (("AuthorizeAllGroups",) . toJSON) _eC2ClientVpnAuthorizationRuleAuthorizeAllGroups
         , (Just . ("ClientVpnEndpointId",) . toJSON) _eC2ClientVpnAuthorizationRuleClientVpnEndpointId
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnEndpoint.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::ClientVpnEndpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AuthenticationOptions",) . toJSON) _eC2ClientVpnEndpointAuthenticationOptions
         , (Just . ("ClientCidrBlock",) . toJSON) _eC2ClientVpnEndpointClientCidrBlock
         , (Just . ("ConnectionLogOptions",) . toJSON) _eC2ClientVpnEndpointConnectionLogOptions
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnRoute.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnRoute.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::ClientVpnRoute"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ClientVpnEndpointId",) . toJSON) _eC2ClientVpnRouteClientVpnEndpointId
         , fmap (("Description",) . toJSON) _eC2ClientVpnRouteDescription
         , (Just . ("DestinationCidrBlock",) . toJSON) _eC2ClientVpnRouteDestinationCidrBlock
diff --git a/library-gen/Stratosphere/Resources/EC2ClientVpnTargetNetworkAssociation.hs b/library-gen/Stratosphere/Resources/EC2ClientVpnTargetNetworkAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2ClientVpnTargetNetworkAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2ClientVpnTargetNetworkAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::ClientVpnTargetNetworkAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ClientVpnEndpointId",) . toJSON) _eC2ClientVpnTargetNetworkAssociationClientVpnEndpointId
         , (Just . ("SubnetId",) . toJSON) _eC2ClientVpnTargetNetworkAssociationSubnetId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs b/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2CustomerGateway.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::CustomerGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("BgpAsn",) . toJSON) _eC2CustomerGatewayBgpAsn
         , (Just . ("IpAddress",) . toJSON) _eC2CustomerGatewayIpAddress
         , fmap (("Tags",) . toJSON) _eC2CustomerGatewayTags
diff --git a/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs b/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
--- a/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
+++ b/library-gen/Stratosphere/Resources/EC2DHCPOptions.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::DHCPOptions"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DomainName",) . toJSON) _eC2DHCPOptionsDomainName
         , fmap (("DomainNameServers",) . toJSON) _eC2DHCPOptionsDomainNameServers
         , fmap (("NetbiosNameServers",) . toJSON) _eC2DHCPOptionsNetbiosNameServers
diff --git a/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs b/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
--- a/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
+++ b/library-gen/Stratosphere/Resources/EC2EC2Fleet.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::EC2Fleet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ExcessCapacityTerminationPolicy",) . toJSON) _eC2EC2FleetExcessCapacityTerminationPolicy
         , (Just . ("LaunchTemplateConfigs",) . toJSON) _eC2EC2FleetLaunchTemplateConfigs
         , fmap (("OnDemandOptions",) . toJSON) _eC2EC2FleetOnDemandOptions
diff --git a/library-gen/Stratosphere/Resources/EC2EIP.hs b/library-gen/Stratosphere/Resources/EC2EIP.hs
--- a/library-gen/Stratosphere/Resources/EC2EIP.hs
+++ b/library-gen/Stratosphere/Resources/EC2EIP.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::EIP"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Domain",) . toJSON) _eC2EIPDomain
         , fmap (("InstanceId",) . toJSON) _eC2EIPInstanceId
         , fmap (("PublicIpv4Pool",) . toJSON) _eC2EIPPublicIpv4Pool
diff --git a/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs b/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2EIPAssociation.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::EIPAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllocationId",) . toJSON) _eC2EIPAssociationAllocationId
         , fmap (("EIP",) . toJSON) _eC2EIPAssociationEIP
         , fmap (("InstanceId",) . toJSON) _eC2EIPAssociationInstanceId
diff --git a/library-gen/Stratosphere/Resources/EC2EgressOnlyInternetGateway.hs b/library-gen/Stratosphere/Resources/EC2EgressOnlyInternetGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2EgressOnlyInternetGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2EgressOnlyInternetGateway.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::EgressOnlyInternetGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("VpcId",) . toJSON) _eC2EgressOnlyInternetGatewayVpcId
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/EC2FlowLog.hs b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
--- a/library-gen/Stratosphere/Resources/EC2FlowLog.hs
+++ b/library-gen/Stratosphere/Resources/EC2FlowLog.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::FlowLog"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeliverLogsPermissionArn",) . toJSON) _eC2FlowLogDeliverLogsPermissionArn
         , fmap (("LogDestination",) . toJSON) _eC2FlowLogLogDestination
         , fmap (("LogDestinationType",) . toJSON) _eC2FlowLogLogDestinationType
diff --git a/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs b/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2GatewayRouteTableAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::GatewayRouteTableAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GatewayId",) . toJSON) _eC2GatewayRouteTableAssociationGatewayId
         , (Just . ("RouteTableId",) . toJSON) _eC2GatewayRouteTableAssociationRouteTableId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2Host.hs b/library-gen/Stratosphere/Resources/EC2Host.hs
--- a/library-gen/Stratosphere/Resources/EC2Host.hs
+++ b/library-gen/Stratosphere/Resources/EC2Host.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::Host"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoPlacement",) . toJSON) _eC2HostAutoPlacement
         , (Just . ("AvailabilityZone",) . toJSON) _eC2HostAvailabilityZone
         , fmap (("HostRecovery",) . toJSON) _eC2HostHostRecovery
diff --git a/library-gen/Stratosphere/Resources/EC2Instance.hs b/library-gen/Stratosphere/Resources/EC2Instance.hs
--- a/library-gen/Stratosphere/Resources/EC2Instance.hs
+++ b/library-gen/Stratosphere/Resources/EC2Instance.hs
@@ -70,7 +70,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::Instance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AdditionalInfo",) . toJSON) _eC2InstanceAdditionalInfo
         , fmap (("Affinity",) . toJSON) _eC2InstanceAffinity
         , fmap (("AvailabilityZone",) . toJSON) _eC2InstanceAvailabilityZone
diff --git a/library-gen/Stratosphere/Resources/EC2InternetGateway.hs b/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2InternetGateway.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::InternetGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _eC2InternetGatewayTags
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs b/library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs
--- a/library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs
+++ b/library-gen/Stratosphere/Resources/EC2LaunchTemplate.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::LaunchTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("LaunchTemplateData",) . toJSON) _eC2LaunchTemplateLaunchTemplateData
         , fmap (("LaunchTemplateName",) . toJSON) _eC2LaunchTemplateLaunchTemplateName
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2LocalGatewayRoute.hs b/library-gen/Stratosphere/Resources/EC2LocalGatewayRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2LocalGatewayRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2LocalGatewayRoute.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::LocalGatewayRoute"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DestinationCidrBlock",) . toJSON) _eC2LocalGatewayRouteDestinationCidrBlock
         , (Just . ("LocalGatewayRouteTableId",) . toJSON) _eC2LocalGatewayRouteLocalGatewayRouteTableId
         , (Just . ("LocalGatewayVirtualInterfaceGroupId",) . toJSON) _eC2LocalGatewayRouteLocalGatewayVirtualInterfaceGroupId
diff --git a/library-gen/Stratosphere/Resources/EC2LocalGatewayRouteTableVPCAssociation.hs b/library-gen/Stratosphere/Resources/EC2LocalGatewayRouteTableVPCAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2LocalGatewayRouteTableVPCAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2LocalGatewayRouteTableVPCAssociation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::LocalGatewayRouteTableVPCAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("LocalGatewayRouteTableId",) . toJSON) _eC2LocalGatewayRouteTableVPCAssociationLocalGatewayRouteTableId
         , fmap (("Tags",) . toJSON) _eC2LocalGatewayRouteTableVPCAssociationTags
         , (Just . ("VpcId",) . toJSON) _eC2LocalGatewayRouteTableVPCAssociationVpcId
diff --git a/library-gen/Stratosphere/Resources/EC2NatGateway.hs b/library-gen/Stratosphere/Resources/EC2NatGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2NatGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2NatGateway.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NatGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AllocationId",) . toJSON) _eC2NatGatewayAllocationId
         , (Just . ("SubnetId",) . toJSON) _eC2NatGatewaySubnetId
         , fmap (("Tags",) . toJSON) _eC2NatGatewayTags
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs b/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkAcl.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NetworkAcl"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _eC2NetworkAclTags
         , (Just . ("VpcId",) . toJSON) _eC2NetworkAclVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkAclEntry.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NetworkAclEntry"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CidrBlock",) . toJSON) _eC2NetworkAclEntryCidrBlock
         , fmap (("Egress",) . toJSON) _eC2NetworkAclEntryEgress
         , fmap (("Icmp",) . toJSON) _eC2NetworkAclEntryIcmp
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs b/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkInterface.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NetworkInterface"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eC2NetworkInterfaceDescription
         , fmap (("GroupSet",) . toJSON) _eC2NetworkInterfaceGroupSet
         , fmap (("InterfaceType",) . toJSON) _eC2NetworkInterfaceInterfaceType
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs b/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkInterfaceAttachment.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NetworkInterfaceAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeleteOnTermination",) . toJSON) _eC2NetworkInterfaceAttachmentDeleteOnTermination
         , (Just . ("DeviceIndex",) . toJSON) _eC2NetworkInterfaceAttachmentDeviceIndex
         , (Just . ("InstanceId",) . toJSON) _eC2NetworkInterfaceAttachmentInstanceId
diff --git a/library-gen/Stratosphere/Resources/EC2NetworkInterfacePermission.hs b/library-gen/Stratosphere/Resources/EC2NetworkInterfacePermission.hs
--- a/library-gen/Stratosphere/Resources/EC2NetworkInterfacePermission.hs
+++ b/library-gen/Stratosphere/Resources/EC2NetworkInterfacePermission.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::NetworkInterfacePermission"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AwsAccountId",) . toJSON) _eC2NetworkInterfacePermissionAwsAccountId
         , (Just . ("NetworkInterfaceId",) . toJSON) _eC2NetworkInterfacePermissionNetworkInterfaceId
         , (Just . ("Permission",) . toJSON) _eC2NetworkInterfacePermissionPermission
diff --git a/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs b/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
--- a/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
+++ b/library-gen/Stratosphere/Resources/EC2PlacementGroup.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::PlacementGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Strategy",) . toJSON) _eC2PlacementGroupStrategy
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/EC2PrefixList.hs b/library-gen/Stratosphere/Resources/EC2PrefixList.hs
--- a/library-gen/Stratosphere/Resources/EC2PrefixList.hs
+++ b/library-gen/Stratosphere/Resources/EC2PrefixList.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::PrefixList"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AddressFamily",) . toJSON) _eC2PrefixListAddressFamily
         , fmap (("Entries",) . toJSON) _eC2PrefixListEntries
         , (Just . ("MaxEntries",) . toJSON) _eC2PrefixListMaxEntries
diff --git a/library-gen/Stratosphere/Resources/EC2Route.hs b/library-gen/Stratosphere/Resources/EC2Route.hs
--- a/library-gen/Stratosphere/Resources/EC2Route.hs
+++ b/library-gen/Stratosphere/Resources/EC2Route.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::Route"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DestinationCidrBlock",) . toJSON) _eC2RouteDestinationCidrBlock
         , fmap (("DestinationIpv6CidrBlock",) . toJSON) _eC2RouteDestinationIpv6CidrBlock
         , fmap (("EgressOnlyInternetGatewayId",) . toJSON) _eC2RouteEgressOnlyInternetGatewayId
diff --git a/library-gen/Stratosphere/Resources/EC2RouteTable.hs b/library-gen/Stratosphere/Resources/EC2RouteTable.hs
--- a/library-gen/Stratosphere/Resources/EC2RouteTable.hs
+++ b/library-gen/Stratosphere/Resources/EC2RouteTable.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::RouteTable"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _eC2RouteTableTags
         , (Just . ("VpcId",) . toJSON) _eC2RouteTableVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroup.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SecurityGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GroupDescription",) . toJSON) _eC2SecurityGroupGroupDescription
         , fmap (("GroupName",) . toJSON) _eC2SecurityGroupGroupName
         , fmap (("SecurityGroupEgress",) . toJSON) _eC2SecurityGroupSecurityGroupEgress
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroupEgress.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SecurityGroupEgress"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CidrIp",) . toJSON) _eC2SecurityGroupEgressCidrIp
         , fmap (("CidrIpv6",) . toJSON) _eC2SecurityGroupEgressCidrIpv6
         , fmap (("Description",) . toJSON) _eC2SecurityGroupEgressDescription
diff --git a/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/EC2SecurityGroupIngress.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SecurityGroupIngress"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CidrIp",) . toJSON) _eC2SecurityGroupIngressCidrIp
         , fmap (("CidrIpv6",) . toJSON) _eC2SecurityGroupIngressCidrIpv6
         , fmap (("Description",) . toJSON) _eC2SecurityGroupIngressDescription
diff --git a/library-gen/Stratosphere/Resources/EC2SpotFleet.hs b/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
--- a/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
+++ b/library-gen/Stratosphere/Resources/EC2SpotFleet.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SpotFleet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("SpotFleetRequestConfigData",) . toJSON) _eC2SpotFleetSpotFleetRequestConfigData
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/EC2Subnet.hs b/library-gen/Stratosphere/Resources/EC2Subnet.hs
--- a/library-gen/Stratosphere/Resources/EC2Subnet.hs
+++ b/library-gen/Stratosphere/Resources/EC2Subnet.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::Subnet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssignIpv6AddressOnCreation",) . toJSON) _eC2SubnetAssignIpv6AddressOnCreation
         , fmap (("AvailabilityZone",) . toJSON) _eC2SubnetAvailabilityZone
         , (Just . ("CidrBlock",) . toJSON) _eC2SubnetCidrBlock
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs b/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetCidrBlock.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SubnetCidrBlock"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Ipv6CidrBlock",) . toJSON) _eC2SubnetCidrBlockIpv6CidrBlock
         , (Just . ("SubnetId",) . toJSON) _eC2SubnetCidrBlockSubnetId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs b/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetNetworkAclAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SubnetNetworkAclAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("NetworkAclId",) . toJSON) _eC2SubnetNetworkAclAssociationNetworkAclId
         , (Just . ("SubnetId",) . toJSON) _eC2SubnetNetworkAclAssociationSubnetId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs b/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2SubnetRouteTableAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::SubnetRouteTableAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("RouteTableId",) . toJSON) _eC2SubnetRouteTableAssociationRouteTableId
         , (Just . ("SubnetId",) . toJSON) _eC2SubnetRouteTableAssociationSubnetId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs
--- a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilter.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TrafficMirrorFilter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eC2TrafficMirrorFilterDescription
         , fmap (("NetworkServices",) . toJSON) _eC2TrafficMirrorFilterNetworkServices
         , fmap (("Tags",) . toJSON) _eC2TrafficMirrorFilterTags
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs
--- a/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorFilterRule.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TrafficMirrorFilterRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eC2TrafficMirrorFilterRuleDescription
         , (Just . ("DestinationCidrBlock",) . toJSON) _eC2TrafficMirrorFilterRuleDestinationCidrBlock
         , fmap (("DestinationPortRange",) . toJSON) _eC2TrafficMirrorFilterRuleDestinationPortRange
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
--- a/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorSession.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TrafficMirrorSession"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eC2TrafficMirrorSessionDescription
         , (Just . ("NetworkInterfaceId",) . toJSON) _eC2TrafficMirrorSessionNetworkInterfaceId
         , fmap (("PacketLength",) . toJSON) _eC2TrafficMirrorSessionPacketLength
diff --git a/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs b/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs
--- a/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs
+++ b/library-gen/Stratosphere/Resources/EC2TrafficMirrorTarget.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TrafficMirrorTarget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eC2TrafficMirrorTargetDescription
         , fmap (("NetworkInterfaceId",) . toJSON) _eC2TrafficMirrorTargetNetworkInterfaceId
         , fmap (("NetworkLoadBalancerArn",) . toJSON) _eC2TrafficMirrorTargetNetworkLoadBalancerArn
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGateway.hs b/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGateway.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AmazonSideAsn",) . toJSON) _eC2TransitGatewayAmazonSideAsn
         , fmap (("AutoAcceptSharedAttachments",) . toJSON) _eC2TransitGatewayAutoAcceptSharedAttachments
         , fmap (("DefaultRouteTableAssociation",) . toJSON) _eC2TransitGatewayDefaultRouteTableAssociation
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayAttachment.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayAttachment.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGatewayAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("SubnetIds",) . toJSON) _eC2TransitGatewayAttachmentSubnetIds
         , fmap (("Tags",) . toJSON) _eC2TransitGatewayAttachmentTags
         , (Just . ("TransitGatewayId",) . toJSON) _eC2TransitGatewayAttachmentTransitGatewayId
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayRoute.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGatewayRoute"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Blackhole",) . toJSON) _eC2TransitGatewayRouteBlackhole
         , fmap (("DestinationCidrBlock",) . toJSON) _eC2TransitGatewayRouteDestinationCidrBlock
         , fmap (("TransitGatewayAttachmentId",) . toJSON) _eC2TransitGatewayRouteTransitGatewayAttachmentId
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTable.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTable.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTable.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTable.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGatewayRouteTable"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _eC2TransitGatewayRouteTableTags
         , (Just . ("TransitGatewayId",) . toJSON) _eC2TransitGatewayRouteTableTransitGatewayId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTableAssociation.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTableAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTableAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTableAssociation.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGatewayRouteTableAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("TransitGatewayAttachmentId",) . toJSON) _eC2TransitGatewayRouteTableAssociationTransitGatewayAttachmentId
         , (Just . ("TransitGatewayRouteTableId",) . toJSON) _eC2TransitGatewayRouteTableAssociationTransitGatewayRouteTableId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTablePropagation.hs b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTablePropagation.hs
--- a/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTablePropagation.hs
+++ b/library-gen/Stratosphere/Resources/EC2TransitGatewayRouteTablePropagation.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::TransitGatewayRouteTablePropagation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("TransitGatewayAttachmentId",) . toJSON) _eC2TransitGatewayRouteTablePropagationTransitGatewayAttachmentId
         , (Just . ("TransitGatewayRouteTableId",) . toJSON) _eC2TransitGatewayRouteTablePropagationTransitGatewayRouteTableId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPC.hs b/library-gen/Stratosphere/Resources/EC2VPC.hs
--- a/library-gen/Stratosphere/Resources/EC2VPC.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPC.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPC"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CidrBlock",) . toJSON) _eC2VPCCidrBlock
         , fmap (("EnableDnsHostnames",) . toJSON) _eC2VPCEnableDnsHostnames
         , fmap (("EnableDnsSupport",) . toJSON) _eC2VPCEnableDnsSupport
diff --git a/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs b/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCCidrBlock.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCCidrBlock"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AmazonProvidedIpv6CidrBlock",) . toJSON) _eC2VPCCidrBlockAmazonProvidedIpv6CidrBlock
         , fmap (("CidrBlock",) . toJSON) _eC2VPCCidrBlockCidrBlock
         , (Just . ("VpcId",) . toJSON) _eC2VPCCidrBlockVpcId
diff --git a/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs b/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCDHCPOptionsAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCDHCPOptionsAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DhcpOptionsId",) . toJSON) _eC2VPCDHCPOptionsAssociationDhcpOptionsId
         , (Just . ("VpcId",) . toJSON) _eC2VPCDHCPOptionsAssociationVpcId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpoint.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCEndpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("PolicyDocument",) . toJSON) _eC2VPCEndpointPolicyDocument
         , fmap (("PrivateDnsEnabled",) . toJSON) _eC2VPCEndpointPrivateDnsEnabled
         , fmap (("RouteTableIds",) . toJSON) _eC2VPCEndpointRouteTableIds
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpointConnectionNotification.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpointConnectionNotification.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpointConnectionNotification.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpointConnectionNotification.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCEndpointConnectionNotification"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConnectionEvents",) . toJSON) _eC2VPCEndpointConnectionNotificationConnectionEvents
         , (Just . ("ConnectionNotificationArn",) . toJSON) _eC2VPCEndpointConnectionNotificationConnectionNotificationArn
         , fmap (("ServiceId",) . toJSON) _eC2VPCEndpointConnectionNotificationServiceId
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpointService.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCEndpointService"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptanceRequired",) . toJSON) _eC2VPCEndpointServiceAcceptanceRequired
         , (Just . ("NetworkLoadBalancerArns",) . toJSON) _eC2VPCEndpointServiceNetworkLoadBalancerArns
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPCEndpointServicePermissions.hs b/library-gen/Stratosphere/Resources/EC2VPCEndpointServicePermissions.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCEndpointServicePermissions.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCEndpointServicePermissions.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCEndpointServicePermissions"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowedPrincipals",) . toJSON) _eC2VPCEndpointServicePermissionsAllowedPrincipals
         , (Just . ("ServiceId",) . toJSON) _eC2VPCEndpointServicePermissionsServiceId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs b/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCGatewayAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCGatewayAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InternetGatewayId",) . toJSON) _eC2VPCGatewayAttachmentInternetGatewayId
         , (Just . ("VpcId",) . toJSON) _eC2VPCGatewayAttachmentVpcId
         , fmap (("VpnGatewayId",) . toJSON) _eC2VPCGatewayAttachmentVpnGatewayId
diff --git a/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs b/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
--- a/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPCPeeringConnection.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPCPeeringConnection"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("PeerOwnerId",) . toJSON) _eC2VPCPeeringConnectionPeerOwnerId
         , fmap (("PeerRegion",) . toJSON) _eC2VPCPeeringConnectionPeerRegion
         , fmap (("PeerRoleArn",) . toJSON) _eC2VPCPeeringConnectionPeerRoleArn
diff --git a/library-gen/Stratosphere/Resources/EC2VPNConnection.hs b/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNConnection.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPNConnection"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CustomerGatewayId",) . toJSON) _eC2VPNConnectionCustomerGatewayId
         , fmap (("StaticRoutesOnly",) . toJSON) _eC2VPNConnectionStaticRoutesOnly
         , fmap (("Tags",) . toJSON) _eC2VPNConnectionTags
diff --git a/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs b/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNConnectionRoute.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPNConnectionRoute"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DestinationCidrBlock",) . toJSON) _eC2VPNConnectionRouteDestinationCidrBlock
         , (Just . ("VpnConnectionId",) . toJSON) _eC2VPNConnectionRouteVpnConnectionId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2VPNGateway.hs b/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNGateway.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPNGateway"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AmazonSideAsn",) . toJSON) _eC2VPNGatewayAmazonSideAsn
         , fmap (("Tags",) . toJSON) _eC2VPNGatewayTags
         , (Just . ("Type",) . toJSON) _eC2VPNGatewayType
diff --git a/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs b/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
--- a/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
+++ b/library-gen/Stratosphere/Resources/EC2VPNGatewayRoutePropagation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VPNGatewayRoutePropagation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("RouteTableIds",) . toJSON) _eC2VPNGatewayRoutePropagationRouteTableIds
         , (Just . ("VpnGatewayId",) . toJSON) _eC2VPNGatewayRoutePropagationVpnGatewayId
         ]
diff --git a/library-gen/Stratosphere/Resources/EC2Volume.hs b/library-gen/Stratosphere/Resources/EC2Volume.hs
--- a/library-gen/Stratosphere/Resources/EC2Volume.hs
+++ b/library-gen/Stratosphere/Resources/EC2Volume.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::Volume"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoEnableIO",) . toJSON) _eC2VolumeAutoEnableIO
         , (Just . ("AvailabilityZone",) . toJSON) _eC2VolumeAvailabilityZone
         , fmap (("Encrypted",) . toJSON) _eC2VolumeEncrypted
diff --git a/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs b/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
--- a/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
+++ b/library-gen/Stratosphere/Resources/EC2VolumeAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EC2::VolumeAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Device",) . toJSON) _eC2VolumeAttachmentDevice
         , (Just . ("InstanceId",) . toJSON) _eC2VolumeAttachmentInstanceId
         , (Just . ("VolumeId",) . toJSON) _eC2VolumeAttachmentVolumeId
diff --git a/library-gen/Stratosphere/Resources/ECRRepository.hs b/library-gen/Stratosphere/Resources/ECRRepository.hs
--- a/library-gen/Stratosphere/Resources/ECRRepository.hs
+++ b/library-gen/Stratosphere/Resources/ECRRepository.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECR::Repository"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ImageScanningConfiguration",) . toJSON) _eCRRepositoryImageScanningConfiguration
         , fmap (("ImageTagMutability",) . toJSON) _eCRRepositoryImageTagMutability
         , fmap (("LifecyclePolicy",) . toJSON) _eCRRepositoryLifecyclePolicy
diff --git a/library-gen/Stratosphere/Resources/ECSCapacityProvider.hs b/library-gen/Stratosphere/Resources/ECSCapacityProvider.hs
--- a/library-gen/Stratosphere/Resources/ECSCapacityProvider.hs
+++ b/library-gen/Stratosphere/Resources/ECSCapacityProvider.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::CapacityProvider"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AutoScalingGroupProvider",) . toJSON) _eCSCapacityProviderAutoScalingGroupProvider
         , fmap (("Name",) . toJSON) _eCSCapacityProviderName
         , fmap (("Tags",) . toJSON) _eCSCapacityProviderTags
diff --git a/library-gen/Stratosphere/Resources/ECSCluster.hs b/library-gen/Stratosphere/Resources/ECSCluster.hs
--- a/library-gen/Stratosphere/Resources/ECSCluster.hs
+++ b/library-gen/Stratosphere/Resources/ECSCluster.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CapacityProviders",) . toJSON) _eCSClusterCapacityProviders
         , fmap (("ClusterName",) . toJSON) _eCSClusterClusterName
         , fmap (("ClusterSettings",) . toJSON) _eCSClusterClusterSettings
diff --git a/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs b/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs
--- a/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs
+++ b/library-gen/Stratosphere/Resources/ECSPrimaryTaskSet.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::PrimaryTaskSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Cluster",) . toJSON) _eCSPrimaryTaskSetCluster
         , (Just . ("Service",) . toJSON) _eCSPrimaryTaskSetService
         , (Just . ("TaskSetId",) . toJSON) _eCSPrimaryTaskSetTaskSetId
diff --git a/library-gen/Stratosphere/Resources/ECSService.hs b/library-gen/Stratosphere/Resources/ECSService.hs
--- a/library-gen/Stratosphere/Resources/ECSService.hs
+++ b/library-gen/Stratosphere/Resources/ECSService.hs
@@ -47,7 +47,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::Service"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Cluster",) . toJSON) _eCSServiceCluster
         , fmap (("DeploymentConfiguration",) . toJSON) _eCSServiceDeploymentConfiguration
         , fmap (("DeploymentController",) . toJSON) _eCSServiceDeploymentController
diff --git a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
--- a/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
+++ b/library-gen/Stratosphere/Resources/ECSTaskDefinition.hs
@@ -42,7 +42,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::TaskDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ContainerDefinitions",) . toJSON) _eCSTaskDefinitionContainerDefinitions
         , fmap (("Cpu",) . toJSON) _eCSTaskDefinitionCpu
         , fmap (("ExecutionRoleArn",) . toJSON) _eCSTaskDefinitionExecutionRoleArn
diff --git a/library-gen/Stratosphere/Resources/ECSTaskSet.hs b/library-gen/Stratosphere/Resources/ECSTaskSet.hs
--- a/library-gen/Stratosphere/Resources/ECSTaskSet.hs
+++ b/library-gen/Stratosphere/Resources/ECSTaskSet.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ECS::TaskSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Cluster",) . toJSON) _eCSTaskSetCluster
         , fmap (("ExternalId",) . toJSON) _eCSTaskSetExternalId
         , fmap (("LaunchType",) . toJSON) _eCSTaskSetLaunchType
diff --git a/library-gen/Stratosphere/Resources/EFSAccessPoint.hs b/library-gen/Stratosphere/Resources/EFSAccessPoint.hs
--- a/library-gen/Stratosphere/Resources/EFSAccessPoint.hs
+++ b/library-gen/Stratosphere/Resources/EFSAccessPoint.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EFS::AccessPoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessPointTags",) . toJSON) _eFSAccessPointAccessPointTags
         , fmap (("ClientToken",) . toJSON) _eFSAccessPointClientToken
         , (Just . ("FileSystemId",) . toJSON) _eFSAccessPointFileSystemId
diff --git a/library-gen/Stratosphere/Resources/EFSFileSystem.hs b/library-gen/Stratosphere/Resources/EFSFileSystem.hs
--- a/library-gen/Stratosphere/Resources/EFSFileSystem.hs
+++ b/library-gen/Stratosphere/Resources/EFSFileSystem.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EFS::FileSystem"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BackupPolicy",) . toJSON) _eFSFileSystemBackupPolicy
         , fmap (("Encrypted",) . toJSON) _eFSFileSystemEncrypted
         , fmap (("FileSystemPolicy",) . toJSON) _eFSFileSystemFileSystemPolicy
diff --git a/library-gen/Stratosphere/Resources/EFSMountTarget.hs b/library-gen/Stratosphere/Resources/EFSMountTarget.hs
--- a/library-gen/Stratosphere/Resources/EFSMountTarget.hs
+++ b/library-gen/Stratosphere/Resources/EFSMountTarget.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EFS::MountTarget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("FileSystemId",) . toJSON) _eFSMountTargetFileSystemId
         , fmap (("IpAddress",) . toJSON) _eFSMountTargetIpAddress
         , (Just . ("SecurityGroups",) . toJSON) _eFSMountTargetSecurityGroups
diff --git a/library-gen/Stratosphere/Resources/EKSCluster.hs b/library-gen/Stratosphere/Resources/EKSCluster.hs
--- a/library-gen/Stratosphere/Resources/EKSCluster.hs
+++ b/library-gen/Stratosphere/Resources/EKSCluster.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EKS::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("EncryptionConfig",) . toJSON) _eKSClusterEncryptionConfig
         , fmap (("Name",) . toJSON) _eKSClusterName
         , (Just . ("ResourcesVpcConfig",) . toJSON) _eKSClusterResourcesVpcConfig
diff --git a/library-gen/Stratosphere/Resources/EKSFargateProfile.hs b/library-gen/Stratosphere/Resources/EKSFargateProfile.hs
--- a/library-gen/Stratosphere/Resources/EKSFargateProfile.hs
+++ b/library-gen/Stratosphere/Resources/EKSFargateProfile.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EKS::FargateProfile"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ClusterName",) . toJSON) _eKSFargateProfileClusterName
         , fmap (("FargateProfileName",) . toJSON) _eKSFargateProfileFargateProfileName
         , (Just . ("PodExecutionRoleArn",) . toJSON) _eKSFargateProfilePodExecutionRoleArn
diff --git a/library-gen/Stratosphere/Resources/EKSNodegroup.hs b/library-gen/Stratosphere/Resources/EKSNodegroup.hs
--- a/library-gen/Stratosphere/Resources/EKSNodegroup.hs
+++ b/library-gen/Stratosphere/Resources/EKSNodegroup.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EKS::Nodegroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AmiType",) . toJSON) _eKSNodegroupAmiType
         , (Just . ("ClusterName",) . toJSON) _eKSNodegroupClusterName
         , fmap (("DiskSize",) . toJSON) _eKSNodegroupDiskSize
diff --git a/library-gen/Stratosphere/Resources/EMRCluster.hs b/library-gen/Stratosphere/Resources/EMRCluster.hs
--- a/library-gen/Stratosphere/Resources/EMRCluster.hs
+++ b/library-gen/Stratosphere/Resources/EMRCluster.hs
@@ -46,7 +46,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EMR::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AdditionalInfo",) . toJSON) _eMRClusterAdditionalInfo
         , fmap (("Applications",) . toJSON) _eMRClusterApplications
         , fmap (("AutoScalingRole",) . toJSON) _eMRClusterAutoScalingRole
diff --git a/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs b/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
--- a/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
+++ b/library-gen/Stratosphere/Resources/EMRInstanceFleetConfig.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EMR::InstanceFleetConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ClusterId",) . toJSON) _eMRInstanceFleetConfigClusterId
         , (Just . ("InstanceFleetType",) . toJSON) _eMRInstanceFleetConfigInstanceFleetType
         , fmap (("InstanceTypeConfigs",) . toJSON) _eMRInstanceFleetConfigInstanceTypeConfigs
diff --git a/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs b/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
--- a/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
+++ b/library-gen/Stratosphere/Resources/EMRInstanceGroupConfig.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EMR::InstanceGroupConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoScalingPolicy",) . toJSON) _eMRInstanceGroupConfigAutoScalingPolicy
         , fmap (("BidPrice",) . toJSON) _eMRInstanceGroupConfigBidPrice
         , fmap (("Configurations",) . toJSON) _eMRInstanceGroupConfigConfigurations
diff --git a/library-gen/Stratosphere/Resources/EMRSecurityConfiguration.hs b/library-gen/Stratosphere/Resources/EMRSecurityConfiguration.hs
--- a/library-gen/Stratosphere/Resources/EMRSecurityConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/EMRSecurityConfiguration.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EMR::SecurityConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _eMRSecurityConfigurationName
         , (Just . ("SecurityConfiguration",) . toJSON) _eMRSecurityConfigurationSecurityConfiguration
         ]
diff --git a/library-gen/Stratosphere/Resources/EMRStep.hs b/library-gen/Stratosphere/Resources/EMRStep.hs
--- a/library-gen/Stratosphere/Resources/EMRStep.hs
+++ b/library-gen/Stratosphere/Resources/EMRStep.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EMR::Step"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ActionOnFailure",) . toJSON) _eMRStepActionOnFailure
         , (Just . ("HadoopJarStep",) . toJSON) _eMRStepHadoopJarStep
         , (Just . ("JobFlowId",) . toJSON) _eMRStepJobFlowId
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs b/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheCacheCluster.hs
@@ -42,7 +42,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::CacheCluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AZMode",) . toJSON) _elastiCacheCacheClusterAZMode
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _elastiCacheCacheClusterAutoMinorVersionUpgrade
         , (Just . ("CacheNodeType",) . toJSON) _elastiCacheCacheClusterCacheNodeType
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheParameterGroup.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::ParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CacheParameterGroupFamily",) . toJSON) _elastiCacheParameterGroupCacheParameterGroupFamily
         , (Just . ("Description",) . toJSON) _elastiCacheParameterGroupDescription
         , fmap (("Properties",) . toJSON) _elastiCacheParameterGroupProperties
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheReplicationGroup.hs
@@ -53,7 +53,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::ReplicationGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AtRestEncryptionEnabled",) . toJSON) _elastiCacheReplicationGroupAtRestEncryptionEnabled
         , fmap (("AuthToken",) . toJSON) _elastiCacheReplicationGroupAuthToken
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _elastiCacheReplicationGroupAutoMinorVersionUpgrade
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroup.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::SecurityGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _elastiCacheSecurityGroupDescription
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSecurityGroupIngress.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::SecurityGroupIngress"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CacheSecurityGroupName",) . toJSON) _elastiCacheSecurityGroupIngressCacheSecurityGroupName
         , (Just . ("EC2SecurityGroupName",) . toJSON) _elastiCacheSecurityGroupIngressEC2SecurityGroupName
         , fmap (("EC2SecurityGroupOwnerId",) . toJSON) _elastiCacheSecurityGroupIngressEC2SecurityGroupOwnerId
diff --git a/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs b/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElastiCacheSubnetGroup.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElastiCache::SubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CacheSubnetGroupName",) . toJSON) _elastiCacheSubnetGroupCacheSubnetGroupName
         , (Just . ("Description",) . toJSON) _elastiCacheSubnetGroupDescription
         , (Just . ("SubnetIds",) . toJSON) _elastiCacheSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplication.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticBeanstalk::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApplicationName",) . toJSON) _elasticBeanstalkApplicationApplicationName
         , fmap (("Description",) . toJSON) _elasticBeanstalkApplicationDescription
         , fmap (("ResourceLifecycleConfig",) . toJSON) _elasticBeanstalkApplicationResourceLifecycleConfig
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkApplicationVersion.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticBeanstalk::ApplicationVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _elasticBeanstalkApplicationVersionApplicationName
         , fmap (("Description",) . toJSON) _elasticBeanstalkApplicationVersionDescription
         , (Just . ("SourceBundle",) . toJSON) _elasticBeanstalkApplicationVersionSourceBundle
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkConfigurationTemplate.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticBeanstalk::ConfigurationTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _elasticBeanstalkConfigurationTemplateApplicationName
         , fmap (("Description",) . toJSON) _elasticBeanstalkConfigurationTemplateDescription
         , fmap (("EnvironmentId",) . toJSON) _elasticBeanstalkConfigurationTemplateEnvironmentId
diff --git a/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs b/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
--- a/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
+++ b/library-gen/Stratosphere/Resources/ElasticBeanstalkEnvironment.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticBeanstalk::Environment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _elasticBeanstalkEnvironmentApplicationName
         , fmap (("CNAMEPrefix",) . toJSON) _elasticBeanstalkEnvironmentCNAMEPrefix
         , fmap (("Description",) . toJSON) _elasticBeanstalkEnvironmentDescription
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingLoadBalancer.hs
@@ -45,7 +45,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancing::LoadBalancer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessLoggingPolicy",) . toJSON) _elasticLoadBalancingLoadBalancerAccessLoggingPolicy
         , fmap (("AppCookieStickinessPolicy",) . toJSON) _elasticLoadBalancingLoadBalancerAppCookieStickinessPolicy
         , fmap (("AvailabilityZones",) . toJSON) _elasticLoadBalancingLoadBalancerAvailabilityZones
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2Listener.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::Listener"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AlpnPolicy",) . toJSON) _elasticLoadBalancingV2ListenerAlpnPolicy
         , fmap (("Certificates",) . toJSON) _elasticLoadBalancingV2ListenerCertificates
         , (Just . ("DefaultActions",) . toJSON) _elasticLoadBalancingV2ListenerDefaultActions
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerCertificateResource.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerCertificateResource.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerCertificateResource.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerCertificateResource.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::ListenerCertificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Certificates",) . toJSON) _elasticLoadBalancingV2ListenerCertificateResourceCertificates
         , (Just . ("ListenerArn",) . toJSON) _elasticLoadBalancingV2ListenerCertificateResourceListenerArn
         ]
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2ListenerRule.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::ListenerRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Actions",) . toJSON) _elasticLoadBalancingV2ListenerRuleActions
         , (Just . ("Conditions",) . toJSON) _elasticLoadBalancingV2ListenerRuleConditions
         , (Just . ("ListenerArn",) . toJSON) _elasticLoadBalancingV2ListenerRuleListenerArn
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2LoadBalancer.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::LoadBalancer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("IpAddressType",) . toJSON) _elasticLoadBalancingV2LoadBalancerIpAddressType
         , fmap (("LoadBalancerAttributes",) . toJSON) _elasticLoadBalancingV2LoadBalancerLoadBalancerAttributes
         , fmap (("Name",) . toJSON) _elasticLoadBalancingV2LoadBalancerName
diff --git a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
--- a/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
+++ b/library-gen/Stratosphere/Resources/ElasticLoadBalancingV2TargetGroup.hs
@@ -41,7 +41,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ElasticLoadBalancingV2::TargetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("HealthCheckEnabled",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckEnabled
         , fmap (("HealthCheckIntervalSeconds",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckIntervalSeconds
         , fmap (("HealthCheckPath",) . toJSON) _elasticLoadBalancingV2TargetGroupHealthCheckPath
diff --git a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
--- a/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
+++ b/library-gen/Stratosphere/Resources/ElasticsearchDomain.hs
@@ -46,7 +46,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Elasticsearch::Domain"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessPolicies",) . toJSON) _elasticsearchDomainAccessPolicies
         , fmap (("AdvancedOptions",) . toJSON) _elasticsearchDomainAdvancedOptions
         , fmap (("AdvancedSecurityOptions",) . toJSON) _elasticsearchDomainAdvancedSecurityOptions
diff --git a/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs b/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs
--- a/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs
+++ b/library-gen/Stratosphere/Resources/EventSchemasDiscoverer.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EventSchemas::Discoverer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eventSchemasDiscovererDescription
         , (Just . ("SourceArn",) . toJSON) _eventSchemasDiscovererSourceArn
         , fmap (("Tags",) . toJSON) _eventSchemasDiscovererTags
diff --git a/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs b/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs
--- a/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs
+++ b/library-gen/Stratosphere/Resources/EventSchemasRegistry.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EventSchemas::Registry"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eventSchemasRegistryDescription
         , fmap (("RegistryName",) . toJSON) _eventSchemasRegistryRegistryName
         , fmap (("Tags",) . toJSON) _eventSchemasRegistryTags
diff --git a/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs b/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs
--- a/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs
+++ b/library-gen/Stratosphere/Resources/EventSchemasRegistryPolicy.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EventSchemas::RegistryPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Policy",) . toJSON) _eventSchemasRegistryPolicyPolicy
         , (Just . ("RegistryName",) . toJSON) _eventSchemasRegistryPolicyRegistryName
         , fmap (("RevisionId",) . toJSON) _eventSchemasRegistryPolicyRevisionId
diff --git a/library-gen/Stratosphere/Resources/EventSchemasSchema.hs b/library-gen/Stratosphere/Resources/EventSchemasSchema.hs
--- a/library-gen/Stratosphere/Resources/EventSchemasSchema.hs
+++ b/library-gen/Stratosphere/Resources/EventSchemasSchema.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::EventSchemas::Schema"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Content",) . toJSON) _eventSchemasSchemaContent
         , fmap (("Description",) . toJSON) _eventSchemasSchemaDescription
         , (Just . ("RegistryName",) . toJSON) _eventSchemasSchemaRegistryName
diff --git a/library-gen/Stratosphere/Resources/EventsEventBus.hs b/library-gen/Stratosphere/Resources/EventsEventBus.hs
--- a/library-gen/Stratosphere/Resources/EventsEventBus.hs
+++ b/library-gen/Stratosphere/Resources/EventsEventBus.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Events::EventBus"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("EventSourceName",) . toJSON) _eventsEventBusEventSourceName
         , (Just . ("Name",) . toJSON) _eventsEventBusName
         ]
diff --git a/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs b/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
--- a/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
+++ b/library-gen/Stratosphere/Resources/EventsEventBusPolicy.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Events::EventBusPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Action",) . toJSON) _eventsEventBusPolicyAction
         , fmap (("Condition",) . toJSON) _eventsEventBusPolicyCondition
         , fmap (("EventBusName",) . toJSON) _eventsEventBusPolicyEventBusName
diff --git a/library-gen/Stratosphere/Resources/EventsRule.hs b/library-gen/Stratosphere/Resources/EventsRule.hs
--- a/library-gen/Stratosphere/Resources/EventsRule.hs
+++ b/library-gen/Stratosphere/Resources/EventsRule.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Events::Rule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _eventsRuleDescription
         , fmap (("EventBusName",) . toJSON) _eventsRuleEventBusName
         , fmap (("EventPattern",) . toJSON) _eventsRuleEventPattern
diff --git a/library-gen/Stratosphere/Resources/FMSNotificationChannel.hs b/library-gen/Stratosphere/Resources/FMSNotificationChannel.hs
--- a/library-gen/Stratosphere/Resources/FMSNotificationChannel.hs
+++ b/library-gen/Stratosphere/Resources/FMSNotificationChannel.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::FMS::NotificationChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("SnsRoleName",) . toJSON) _fMSNotificationChannelSnsRoleName
         , (Just . ("SnsTopicArn",) . toJSON) _fMSNotificationChannelSnsTopicArn
         ]
diff --git a/library-gen/Stratosphere/Resources/FMSPolicy.hs b/library-gen/Stratosphere/Resources/FMSPolicy.hs
--- a/library-gen/Stratosphere/Resources/FMSPolicy.hs
+++ b/library-gen/Stratosphere/Resources/FMSPolicy.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::FMS::Policy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeleteAllPolicyResources",) . toJSON) _fMSPolicyDeleteAllPolicyResources
         , fmap (("ExcludeMap",) . toJSON) _fMSPolicyExcludeMap
         , (Just . ("ExcludeResourceTags",) . toJSON) _fMSPolicyExcludeResourceTags
diff --git a/library-gen/Stratosphere/Resources/FSxFileSystem.hs b/library-gen/Stratosphere/Resources/FSxFileSystem.hs
--- a/library-gen/Stratosphere/Resources/FSxFileSystem.hs
+++ b/library-gen/Stratosphere/Resources/FSxFileSystem.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::FSx::FileSystem"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BackupId",) . toJSON) _fSxFileSystemBackupId
         , (Just . ("FileSystemType",) . toJSON) _fSxFileSystemFileSystemType
         , fmap (("KmsKeyId",) . toJSON) _fSxFileSystemKmsKeyId
diff --git a/library-gen/Stratosphere/Resources/GameLiftAlias.hs b/library-gen/Stratosphere/Resources/GameLiftAlias.hs
--- a/library-gen/Stratosphere/Resources/GameLiftAlias.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftAlias.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::Alias"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _gameLiftAliasDescription
         , (Just . ("Name",) . toJSON) _gameLiftAliasName
         , (Just . ("RoutingStrategy",) . toJSON) _gameLiftAliasRoutingStrategy
diff --git a/library-gen/Stratosphere/Resources/GameLiftBuild.hs b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
--- a/library-gen/Stratosphere/Resources/GameLiftBuild.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftBuild.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::Build"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _gameLiftBuildName
         , fmap (("OperatingSystem",) . toJSON) _gameLiftBuildOperatingSystem
         , fmap (("StorageLocation",) . toJSON) _gameLiftBuildStorageLocation
diff --git a/library-gen/Stratosphere/Resources/GameLiftFleet.hs b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
--- a/library-gen/Stratosphere/Resources/GameLiftFleet.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftFleet.hs
@@ -45,7 +45,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::Fleet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BuildId",) . toJSON) _gameLiftFleetBuildId
         , fmap (("CertificateConfiguration",) . toJSON) _gameLiftFleetCertificateConfiguration
         , fmap (("Description",) . toJSON) _gameLiftFleetDescription
diff --git a/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs b/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs
--- a/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftGameServerGroup.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::GameServerGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AutoScalingPolicy",) . toJSON) _gameLiftGameServerGroupAutoScalingPolicy
         , fmap (("BalancingStrategy",) . toJSON) _gameLiftGameServerGroupBalancingStrategy
         , fmap (("DeleteOption",) . toJSON) _gameLiftGameServerGroupDeleteOption
diff --git a/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs b/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs
--- a/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftGameSessionQueue.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::GameSessionQueue"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Destinations",) . toJSON) _gameLiftGameSessionQueueDestinations
         , (Just . ("Name",) . toJSON) _gameLiftGameSessionQueueName
         , fmap (("PlayerLatencyPolicies",) . toJSON) _gameLiftGameSessionQueuePlayerLatencyPolicies
diff --git a/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs b/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs
--- a/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftMatchmakingConfiguration.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::MatchmakingConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AcceptanceRequired",) . toJSON) _gameLiftMatchmakingConfigurationAcceptanceRequired
         , fmap (("AcceptanceTimeoutSeconds",) . toJSON) _gameLiftMatchmakingConfigurationAcceptanceTimeoutSeconds
         , fmap (("AdditionalPlayerCount",) . toJSON) _gameLiftMatchmakingConfigurationAdditionalPlayerCount
diff --git a/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs b/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs
--- a/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftMatchmakingRuleSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::MatchmakingRuleSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _gameLiftMatchmakingRuleSetName
         , (Just . ("RuleSetBody",) . toJSON) _gameLiftMatchmakingRuleSetRuleSetBody
         ]
diff --git a/library-gen/Stratosphere/Resources/GameLiftScript.hs b/library-gen/Stratosphere/Resources/GameLiftScript.hs
--- a/library-gen/Stratosphere/Resources/GameLiftScript.hs
+++ b/library-gen/Stratosphere/Resources/GameLiftScript.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GameLift::Script"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _gameLiftScriptName
         , (Just . ("StorageLocation",) . toJSON) _gameLiftScriptStorageLocation
         , fmap (("Version",) . toJSON) _gameLiftScriptVersion
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs
--- a/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorAccelerator.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GlobalAccelerator::Accelerator"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Enabled",) . toJSON) _globalAcceleratorAcceleratorEnabled
         , fmap (("IpAddressType",) . toJSON) _globalAcceleratorAcceleratorIpAddressType
         , fmap (("IpAddresses",) . toJSON) _globalAcceleratorAcceleratorIpAddresses
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
--- a/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GlobalAccelerator::EndpointGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("EndpointConfigurations",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurations
         , (Just . ("EndpointGroupRegion",) . toJSON) _globalAcceleratorEndpointGroupEndpointGroupRegion
         , fmap (("HealthCheckIntervalSeconds",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds
diff --git a/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs b/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs
--- a/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs
+++ b/library-gen/Stratosphere/Resources/GlobalAcceleratorListener.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GlobalAccelerator::Listener"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AcceleratorArn",) . toJSON) _globalAcceleratorListenerAcceleratorArn
         , fmap (("ClientAffinity",) . toJSON) _globalAcceleratorListenerClientAffinity
         , (Just . ("PortRanges",) . toJSON) _globalAcceleratorListenerPortRanges
diff --git a/library-gen/Stratosphere/Resources/GlueClassifier.hs b/library-gen/Stratosphere/Resources/GlueClassifier.hs
--- a/library-gen/Stratosphere/Resources/GlueClassifier.hs
+++ b/library-gen/Stratosphere/Resources/GlueClassifier.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Classifier"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CsvClassifier",) . toJSON) _glueClassifierCsvClassifier
         , fmap (("GrokClassifier",) . toJSON) _glueClassifierGrokClassifier
         , fmap (("JsonClassifier",) . toJSON) _glueClassifierJsonClassifier
diff --git a/library-gen/Stratosphere/Resources/GlueConnection.hs b/library-gen/Stratosphere/Resources/GlueConnection.hs
--- a/library-gen/Stratosphere/Resources/GlueConnection.hs
+++ b/library-gen/Stratosphere/Resources/GlueConnection.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Connection"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CatalogId",) . toJSON) _glueConnectionCatalogId
         , (Just . ("ConnectionInput",) . toJSON) _glueConnectionConnectionInput
         ]
diff --git a/library-gen/Stratosphere/Resources/GlueCrawler.hs b/library-gen/Stratosphere/Resources/GlueCrawler.hs
--- a/library-gen/Stratosphere/Resources/GlueCrawler.hs
+++ b/library-gen/Stratosphere/Resources/GlueCrawler.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Crawler"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Classifiers",) . toJSON) _glueCrawlerClassifiers
         , fmap (("Configuration",) . toJSON) _glueCrawlerConfiguration
         , fmap (("CrawlerSecurityConfiguration",) . toJSON) _glueCrawlerCrawlerSecurityConfiguration
diff --git a/library-gen/Stratosphere/Resources/GlueDataCatalogEncryptionSettings.hs b/library-gen/Stratosphere/Resources/GlueDataCatalogEncryptionSettings.hs
--- a/library-gen/Stratosphere/Resources/GlueDataCatalogEncryptionSettings.hs
+++ b/library-gen/Stratosphere/Resources/GlueDataCatalogEncryptionSettings.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::DataCatalogEncryptionSettings"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CatalogId",) . toJSON) _glueDataCatalogEncryptionSettingsCatalogId
         , (Just . ("DataCatalogEncryptionSettings",) . toJSON) _glueDataCatalogEncryptionSettingsDataCatalogEncryptionSettings
         ]
diff --git a/library-gen/Stratosphere/Resources/GlueDatabase.hs b/library-gen/Stratosphere/Resources/GlueDatabase.hs
--- a/library-gen/Stratosphere/Resources/GlueDatabase.hs
+++ b/library-gen/Stratosphere/Resources/GlueDatabase.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Database"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CatalogId",) . toJSON) _glueDatabaseCatalogId
         , (Just . ("DatabaseInput",) . toJSON) _glueDatabaseDatabaseInput
         ]
diff --git a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
--- a/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/GlueDevEndpoint.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::DevEndpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Arguments",) . toJSON) _glueDevEndpointArguments
         , fmap (("EndpointName",) . toJSON) _glueDevEndpointEndpointName
         , fmap (("ExtraJarsS3Path",) . toJSON) _glueDevEndpointExtraJarsS3Path
diff --git a/library-gen/Stratosphere/Resources/GlueJob.hs b/library-gen/Stratosphere/Resources/GlueJob.hs
--- a/library-gen/Stratosphere/Resources/GlueJob.hs
+++ b/library-gen/Stratosphere/Resources/GlueJob.hs
@@ -42,7 +42,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Job"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllocatedCapacity",) . toJSON) _glueJobAllocatedCapacity
         , (Just . ("Command",) . toJSON) _glueJobCommand
         , fmap (("Connections",) . toJSON) _glueJobConnections
diff --git a/library-gen/Stratosphere/Resources/GlueMLTransform.hs b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
--- a/library-gen/Stratosphere/Resources/GlueMLTransform.hs
+++ b/library-gen/Stratosphere/Resources/GlueMLTransform.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::MLTransform"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _glueMLTransformDescription
         , fmap (("GlueVersion",) . toJSON) _glueMLTransformGlueVersion
         , (Just . ("InputRecordTables",) . toJSON) _glueMLTransformInputRecordTables
diff --git a/library-gen/Stratosphere/Resources/GluePartition.hs b/library-gen/Stratosphere/Resources/GluePartition.hs
--- a/library-gen/Stratosphere/Resources/GluePartition.hs
+++ b/library-gen/Stratosphere/Resources/GluePartition.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Partition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CatalogId",) . toJSON) _gluePartitionCatalogId
         , (Just . ("DatabaseName",) . toJSON) _gluePartitionDatabaseName
         , (Just . ("PartitionInput",) . toJSON) _gluePartitionPartitionInput
diff --git a/library-gen/Stratosphere/Resources/GlueSecurityConfiguration.hs b/library-gen/Stratosphere/Resources/GlueSecurityConfiguration.hs
--- a/library-gen/Stratosphere/Resources/GlueSecurityConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/GlueSecurityConfiguration.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::SecurityConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("EncryptionConfiguration",) . toJSON) _glueSecurityConfigurationEncryptionConfiguration
         , (Just . ("Name",) . toJSON) _glueSecurityConfigurationName
         ]
diff --git a/library-gen/Stratosphere/Resources/GlueTable.hs b/library-gen/Stratosphere/Resources/GlueTable.hs
--- a/library-gen/Stratosphere/Resources/GlueTable.hs
+++ b/library-gen/Stratosphere/Resources/GlueTable.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Table"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CatalogId",) . toJSON) _glueTableCatalogId
         , (Just . ("DatabaseName",) . toJSON) _glueTableDatabaseName
         , (Just . ("TableInput",) . toJSON) _glueTableTableInput
diff --git a/library-gen/Stratosphere/Resources/GlueTrigger.hs b/library-gen/Stratosphere/Resources/GlueTrigger.hs
--- a/library-gen/Stratosphere/Resources/GlueTrigger.hs
+++ b/library-gen/Stratosphere/Resources/GlueTrigger.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Trigger"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Actions",) . toJSON) _glueTriggerActions
         , fmap (("Description",) . toJSON) _glueTriggerDescription
         , fmap (("Name",) . toJSON) _glueTriggerName
diff --git a/library-gen/Stratosphere/Resources/GlueWorkflow.hs b/library-gen/Stratosphere/Resources/GlueWorkflow.hs
--- a/library-gen/Stratosphere/Resources/GlueWorkflow.hs
+++ b/library-gen/Stratosphere/Resources/GlueWorkflow.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Glue::Workflow"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DefaultRunProperties",) . toJSON) _glueWorkflowDefaultRunProperties
         , fmap (("Description",) . toJSON) _glueWorkflowDescription
         , fmap (("Name",) . toJSON) _glueWorkflowName
diff --git a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::ConnectorDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassConnectorDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassConnectorDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassConnectorDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassConnectorDefinitionVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::ConnectorDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConnectorDefinitionId",) . toJSON) _greengrassConnectorDefinitionVersionConnectorDefinitionId
         , (Just . ("Connectors",) . toJSON) _greengrassConnectorDefinitionVersionConnectors
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassCoreDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::CoreDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassCoreDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassCoreDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassCoreDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassCoreDefinitionVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::CoreDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CoreDefinitionId",) . toJSON) _greengrassCoreDefinitionVersionCoreDefinitionId
         , (Just . ("Cores",) . toJSON) _greengrassCoreDefinitionVersionCores
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::DeviceDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassDeviceDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassDeviceDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassDeviceDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassDeviceDefinitionVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::DeviceDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DeviceDefinitionId",) . toJSON) _greengrassDeviceDefinitionVersionDeviceDefinitionId
         , (Just . ("Devices",) . toJSON) _greengrassDeviceDefinitionVersionDevices
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::FunctionDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassFunctionDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassFunctionDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassFunctionDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassFunctionDefinitionVersion.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::FunctionDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DefaultConfig",) . toJSON) _greengrassFunctionDefinitionVersionDefaultConfig
         , (Just . ("FunctionDefinitionId",) . toJSON) _greengrassFunctionDefinitionVersionFunctionDefinitionId
         , (Just . ("Functions",) . toJSON) _greengrassFunctionDefinitionVersionFunctions
diff --git a/library-gen/Stratosphere/Resources/GreengrassGroup.hs b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
--- a/library-gen/Stratosphere/Resources/GreengrassGroup.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::Group"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassGroupInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassGroupName
         , fmap (("RoleArn",) . toJSON) _greengrassGroupRoleArn
diff --git a/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs b/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassGroupVersion.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::GroupVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConnectorDefinitionVersionArn",) . toJSON) _greengrassGroupVersionConnectorDefinitionVersionArn
         , fmap (("CoreDefinitionVersionArn",) . toJSON) _greengrassGroupVersionCoreDefinitionVersionArn
         , fmap (("DeviceDefinitionVersionArn",) . toJSON) _greengrassGroupVersionDeviceDefinitionVersionArn
diff --git a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::LoggerDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassLoggerDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassLoggerDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassLoggerDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassLoggerDefinitionVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::LoggerDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("LoggerDefinitionId",) . toJSON) _greengrassLoggerDefinitionVersionLoggerDefinitionId
         , (Just . ("Loggers",) . toJSON) _greengrassLoggerDefinitionVersionLoggers
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassResourceDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::ResourceDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassResourceDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassResourceDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassResourceDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassResourceDefinitionVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::ResourceDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceDefinitionId",) . toJSON) _greengrassResourceDefinitionVersionResourceDefinitionId
         , (Just . ("Resources",) . toJSON) _greengrassResourceDefinitionVersionResources
         ]
diff --git a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
--- a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinition.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::SubscriptionDefinition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InitialVersion",) . toJSON) _greengrassSubscriptionDefinitionInitialVersion
         , (Just . ("Name",) . toJSON) _greengrassSubscriptionDefinitionName
         , fmap (("Tags",) . toJSON) _greengrassSubscriptionDefinitionTags
diff --git a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs
--- a/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs
+++ b/library-gen/Stratosphere/Resources/GreengrassSubscriptionDefinitionVersion.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Greengrass::SubscriptionDefinitionVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("SubscriptionDefinitionId",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptionDefinitionId
         , (Just . ("Subscriptions",) . toJSON) _greengrassSubscriptionDefinitionVersionSubscriptions
         ]
diff --git a/library-gen/Stratosphere/Resources/GuardDutyDetector.hs b/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyDetector.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::Detector"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DataSources",) . toJSON) _guardDutyDetectorDataSources
         , (Just . ("Enable",) . toJSON) _guardDutyDetectorEnable
         , fmap (("FindingPublishingFrequency",) . toJSON) _guardDutyDetectorFindingPublishingFrequency
diff --git a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyFilter.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::Filter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Action",) . toJSON) _guardDutyFilterAction
         , (Just . ("Description",) . toJSON) _guardDutyFilterDescription
         , (Just . ("DetectorId",) . toJSON) _guardDutyFilterDetectorId
diff --git a/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs b/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyIPSet.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::IPSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Activate",) . toJSON) _guardDutyIPSetActivate
         , (Just . ("DetectorId",) . toJSON) _guardDutyIPSetDetectorId
         , (Just . ("Format",) . toJSON) _guardDutyIPSetFormat
diff --git a/library-gen/Stratosphere/Resources/GuardDutyMaster.hs b/library-gen/Stratosphere/Resources/GuardDutyMaster.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyMaster.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyMaster.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::Master"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DetectorId",) . toJSON) _guardDutyMasterDetectorId
         , fmap (("InvitationId",) . toJSON) _guardDutyMasterInvitationId
         , (Just . ("MasterId",) . toJSON) _guardDutyMasterMasterId
diff --git a/library-gen/Stratosphere/Resources/GuardDutyMember.hs b/library-gen/Stratosphere/Resources/GuardDutyMember.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyMember.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyMember.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::Member"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DetectorId",) . toJSON) _guardDutyMemberDetectorId
         , fmap (("DisableEmailNotification",) . toJSON) _guardDutyMemberDisableEmailNotification
         , (Just . ("Email",) . toJSON) _guardDutyMemberEmail
diff --git a/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs b/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
--- a/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
+++ b/library-gen/Stratosphere/Resources/GuardDutyThreatIntelSet.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::GuardDuty::ThreatIntelSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Activate",) . toJSON) _guardDutyThreatIntelSetActivate
         , (Just . ("DetectorId",) . toJSON) _guardDutyThreatIntelSetDetectorId
         , (Just . ("Format",) . toJSON) _guardDutyThreatIntelSetFormat
diff --git a/library-gen/Stratosphere/Resources/IAMAccessKey.hs b/library-gen/Stratosphere/Resources/IAMAccessKey.hs
--- a/library-gen/Stratosphere/Resources/IAMAccessKey.hs
+++ b/library-gen/Stratosphere/Resources/IAMAccessKey.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::AccessKey"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Serial",) . toJSON) _iAMAccessKeySerial
         , fmap (("Status",) . toJSON) _iAMAccessKeyStatus
         , (Just . ("UserName",) . toJSON) _iAMAccessKeyUserName
diff --git a/library-gen/Stratosphere/Resources/IAMGroup.hs b/library-gen/Stratosphere/Resources/IAMGroup.hs
--- a/library-gen/Stratosphere/Resources/IAMGroup.hs
+++ b/library-gen/Stratosphere/Resources/IAMGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::Group"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("GroupName",) . toJSON) _iAMGroupGroupName
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMGroupManagedPolicyArns
         , fmap (("Path",) . toJSON) _iAMGroupPath
diff --git a/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs b/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
--- a/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
+++ b/library-gen/Stratosphere/Resources/IAMInstanceProfile.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::InstanceProfile"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InstanceProfileName",) . toJSON) _iAMInstanceProfileInstanceProfileName
         , fmap (("Path",) . toJSON) _iAMInstanceProfilePath
         , (Just . ("Roles",) . toJSON) _iAMInstanceProfileRoles
diff --git a/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs b/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
--- a/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IAMManagedPolicy.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::ManagedPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _iAMManagedPolicyDescription
         , fmap (("Groups",) . toJSON) _iAMManagedPolicyGroups
         , fmap (("ManagedPolicyName",) . toJSON) _iAMManagedPolicyManagedPolicyName
diff --git a/library-gen/Stratosphere/Resources/IAMPolicy.hs b/library-gen/Stratosphere/Resources/IAMPolicy.hs
--- a/library-gen/Stratosphere/Resources/IAMPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IAMPolicy.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::Policy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Groups",) . toJSON) _iAMPolicyGroups
         , (Just . ("PolicyDocument",) . toJSON) _iAMPolicyPolicyDocument
         , (Just . ("PolicyName",) . toJSON) _iAMPolicyPolicyName
diff --git a/library-gen/Stratosphere/Resources/IAMRole.hs b/library-gen/Stratosphere/Resources/IAMRole.hs
--- a/library-gen/Stratosphere/Resources/IAMRole.hs
+++ b/library-gen/Stratosphere/Resources/IAMRole.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::Role"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AssumeRolePolicyDocument",) . toJSON) _iAMRoleAssumeRolePolicyDocument
         , fmap (("Description",) . toJSON) _iAMRoleDescription
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMRoleManagedPolicyArns
diff --git a/library-gen/Stratosphere/Resources/IAMServiceLinkedRole.hs b/library-gen/Stratosphere/Resources/IAMServiceLinkedRole.hs
--- a/library-gen/Stratosphere/Resources/IAMServiceLinkedRole.hs
+++ b/library-gen/Stratosphere/Resources/IAMServiceLinkedRole.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::ServiceLinkedRole"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AWSServiceName",) . toJSON) _iAMServiceLinkedRoleAWSServiceName
         , fmap (("CustomSuffix",) . toJSON) _iAMServiceLinkedRoleCustomSuffix
         , fmap (("Description",) . toJSON) _iAMServiceLinkedRoleDescription
diff --git a/library-gen/Stratosphere/Resources/IAMUser.hs b/library-gen/Stratosphere/Resources/IAMUser.hs
--- a/library-gen/Stratosphere/Resources/IAMUser.hs
+++ b/library-gen/Stratosphere/Resources/IAMUser.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::User"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Groups",) . toJSON) _iAMUserGroups
         , fmap (("LoginProfile",) . toJSON) _iAMUserLoginProfile
         , fmap (("ManagedPolicyArns",) . toJSON) _iAMUserManagedPolicyArns
diff --git a/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs b/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
--- a/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
+++ b/library-gen/Stratosphere/Resources/IAMUserToGroupAddition.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IAM::UserToGroupAddition"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GroupName",) . toJSON) _iAMUserToGroupAdditionGroupName
         , (Just . ("Users",) . toJSON) _iAMUserToGroupAdditionUsers
         ]
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderComponent.hs b/library-gen/Stratosphere/Resources/ImageBuilderComponent.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderComponent.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderComponent.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::Component"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ChangeDescription",) . toJSON) _imageBuilderComponentChangeDescription
         , fmap (("Data",) . toJSON) _imageBuilderComponentData
         , fmap (("Description",) . toJSON) _imageBuilderComponentDescription
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderDistributionConfiguration.hs b/library-gen/Stratosphere/Resources/ImageBuilderDistributionConfiguration.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderDistributionConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderDistributionConfiguration.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::DistributionConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _imageBuilderDistributionConfigurationDescription
         , (Just . ("Distributions",) . toJSON) _imageBuilderDistributionConfigurationDistributions
         , (Just . ("Name",) . toJSON) _imageBuilderDistributionConfigurationName
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderImage.hs b/library-gen/Stratosphere/Resources/ImageBuilderImage.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderImage.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderImage.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::Image"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DistributionConfigurationArn",) . toJSON) _imageBuilderImageDistributionConfigurationArn
         , fmap (("EnhancedImageMetadataEnabled",) . toJSON) _imageBuilderImageEnhancedImageMetadataEnabled
         , (Just . ("ImageRecipeArn",) . toJSON) _imageBuilderImageImageRecipeArn
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderImagePipeline.hs b/library-gen/Stratosphere/Resources/ImageBuilderImagePipeline.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderImagePipeline.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderImagePipeline.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::ImagePipeline"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _imageBuilderImagePipelineDescription
         , fmap (("DistributionConfigurationArn",) . toJSON) _imageBuilderImagePipelineDistributionConfigurationArn
         , fmap (("EnhancedImageMetadataEnabled",) . toJSON) _imageBuilderImagePipelineEnhancedImageMetadataEnabled
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderImageRecipe.hs b/library-gen/Stratosphere/Resources/ImageBuilderImageRecipe.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderImageRecipe.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderImageRecipe.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::ImageRecipe"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BlockDeviceMappings",) . toJSON) _imageBuilderImageRecipeBlockDeviceMappings
         , (Just . ("Components",) . toJSON) _imageBuilderImageRecipeComponents
         , fmap (("Description",) . toJSON) _imageBuilderImageRecipeDescription
diff --git a/library-gen/Stratosphere/Resources/ImageBuilderInfrastructureConfiguration.hs b/library-gen/Stratosphere/Resources/ImageBuilderInfrastructureConfiguration.hs
--- a/library-gen/Stratosphere/Resources/ImageBuilderInfrastructureConfiguration.hs
+++ b/library-gen/Stratosphere/Resources/ImageBuilderInfrastructureConfiguration.hs
@@ -34,7 +34,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ImageBuilder::InfrastructureConfiguration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _imageBuilderInfrastructureConfigurationDescription
         , (Just . ("InstanceProfileName",) . toJSON) _imageBuilderInfrastructureConfigurationInstanceProfileName
         , fmap (("InstanceTypes",) . toJSON) _imageBuilderInfrastructureConfigurationInstanceTypes
diff --git a/library-gen/Stratosphere/Resources/InspectorAssessmentTarget.hs b/library-gen/Stratosphere/Resources/InspectorAssessmentTarget.hs
--- a/library-gen/Stratosphere/Resources/InspectorAssessmentTarget.hs
+++ b/library-gen/Stratosphere/Resources/InspectorAssessmentTarget.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Inspector::AssessmentTarget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssessmentTargetName",) . toJSON) _inspectorAssessmentTargetAssessmentTargetName
         , fmap (("ResourceGroupArn",) . toJSON) _inspectorAssessmentTargetResourceGroupArn
         ]
diff --git a/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs b/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
--- a/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
+++ b/library-gen/Stratosphere/Resources/InspectorAssessmentTemplate.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Inspector::AssessmentTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AssessmentTargetArn",) . toJSON) _inspectorAssessmentTemplateAssessmentTargetArn
         , fmap (("AssessmentTemplateName",) . toJSON) _inspectorAssessmentTemplateAssessmentTemplateName
         , (Just . ("DurationInSeconds",) . toJSON) _inspectorAssessmentTemplateDurationInSeconds
diff --git a/library-gen/Stratosphere/Resources/InspectorResourceGroup.hs b/library-gen/Stratosphere/Resources/InspectorResourceGroup.hs
--- a/library-gen/Stratosphere/Resources/InspectorResourceGroup.hs
+++ b/library-gen/Stratosphere/Resources/InspectorResourceGroup.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Inspector::ResourceGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceGroupTags",) . toJSON) _inspectorResourceGroupResourceGroupTags
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
--- a/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
+++ b/library-gen/Stratosphere/Resources/IoT1ClickDevice.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT1Click::Device"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DeviceId",) . toJSON) _ioT1ClickDeviceDeviceId
         , (Just . ("Enabled",) . toJSON) _ioT1ClickDeviceEnabled
         ]
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs b/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs
--- a/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs
+++ b/library-gen/Stratosphere/Resources/IoT1ClickPlacement.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT1Click::Placement"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssociatedDevices",) . toJSON) _ioT1ClickPlacementAssociatedDevices
         , fmap (("Attributes",) . toJSON) _ioT1ClickPlacementAttributes
         , fmap (("PlacementName",) . toJSON) _ioT1ClickPlacementPlacementName
diff --git a/library-gen/Stratosphere/Resources/IoT1ClickProject.hs b/library-gen/Stratosphere/Resources/IoT1ClickProject.hs
--- a/library-gen/Stratosphere/Resources/IoT1ClickProject.hs
+++ b/library-gen/Stratosphere/Resources/IoT1ClickProject.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT1Click::Project"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _ioT1ClickProjectDescription
         , (Just . ("PlacementTemplate",) . toJSON) _ioT1ClickProjectPlacementTemplate
         , fmap (("ProjectName",) . toJSON) _ioT1ClickProjectProjectName
diff --git a/library-gen/Stratosphere/Resources/IoTAnalyticsChannel.hs b/library-gen/Stratosphere/Resources/IoTAnalyticsChannel.hs
--- a/library-gen/Stratosphere/Resources/IoTAnalyticsChannel.hs
+++ b/library-gen/Stratosphere/Resources/IoTAnalyticsChannel.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTAnalytics::Channel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ChannelName",) . toJSON) _ioTAnalyticsChannelChannelName
         , fmap (("ChannelStorage",) . toJSON) _ioTAnalyticsChannelChannelStorage
         , fmap (("RetentionPeriod",) . toJSON) _ioTAnalyticsChannelRetentionPeriod
diff --git a/library-gen/Stratosphere/Resources/IoTAnalyticsDataset.hs b/library-gen/Stratosphere/Resources/IoTAnalyticsDataset.hs
--- a/library-gen/Stratosphere/Resources/IoTAnalyticsDataset.hs
+++ b/library-gen/Stratosphere/Resources/IoTAnalyticsDataset.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTAnalytics::Dataset"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Actions",) . toJSON) _ioTAnalyticsDatasetActions
         , fmap (("ContentDeliveryRules",) . toJSON) _ioTAnalyticsDatasetContentDeliveryRules
         , fmap (("DatasetName",) . toJSON) _ioTAnalyticsDatasetDatasetName
diff --git a/library-gen/Stratosphere/Resources/IoTAnalyticsDatastore.hs b/library-gen/Stratosphere/Resources/IoTAnalyticsDatastore.hs
--- a/library-gen/Stratosphere/Resources/IoTAnalyticsDatastore.hs
+++ b/library-gen/Stratosphere/Resources/IoTAnalyticsDatastore.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTAnalytics::Datastore"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DatastoreName",) . toJSON) _ioTAnalyticsDatastoreDatastoreName
         , fmap (("DatastoreStorage",) . toJSON) _ioTAnalyticsDatastoreDatastoreStorage
         , fmap (("RetentionPeriod",) . toJSON) _ioTAnalyticsDatastoreRetentionPeriod
diff --git a/library-gen/Stratosphere/Resources/IoTAnalyticsPipeline.hs b/library-gen/Stratosphere/Resources/IoTAnalyticsPipeline.hs
--- a/library-gen/Stratosphere/Resources/IoTAnalyticsPipeline.hs
+++ b/library-gen/Stratosphere/Resources/IoTAnalyticsPipeline.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTAnalytics::Pipeline"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PipelineActivities",) . toJSON) _ioTAnalyticsPipelinePipelineActivities
         , fmap (("PipelineName",) . toJSON) _ioTAnalyticsPipelinePipelineName
         , fmap (("Tags",) . toJSON) _ioTAnalyticsPipelineTags
diff --git a/library-gen/Stratosphere/Resources/IoTCertificate.hs b/library-gen/Stratosphere/Resources/IoTCertificate.hs
--- a/library-gen/Stratosphere/Resources/IoTCertificate.hs
+++ b/library-gen/Stratosphere/Resources/IoTCertificate.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::Certificate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CACertificatePem",) . toJSON) _ioTCertificateCACertificatePem
         , fmap (("CertificateMode",) . toJSON) _ioTCertificateCertificateMode
         , fmap (("CertificatePem",) . toJSON) _ioTCertificateCertificatePem
diff --git a/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs b/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs
--- a/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs
+++ b/library-gen/Stratosphere/Resources/IoTEventsDetectorModel.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTEvents::DetectorModel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DetectorModelDefinition",) . toJSON) _ioTEventsDetectorModelDetectorModelDefinition
         , fmap (("DetectorModelDescription",) . toJSON) _ioTEventsDetectorModelDetectorModelDescription
         , fmap (("DetectorModelName",) . toJSON) _ioTEventsDetectorModelDetectorModelName
diff --git a/library-gen/Stratosphere/Resources/IoTEventsInput.hs b/library-gen/Stratosphere/Resources/IoTEventsInput.hs
--- a/library-gen/Stratosphere/Resources/IoTEventsInput.hs
+++ b/library-gen/Stratosphere/Resources/IoTEventsInput.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTEvents::Input"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InputDefinition",) . toJSON) _ioTEventsInputInputDefinition
         , fmap (("InputDescription",) . toJSON) _ioTEventsInputInputDescription
         , fmap (("InputName",) . toJSON) _ioTEventsInputInputName
diff --git a/library-gen/Stratosphere/Resources/IoTPolicy.hs b/library-gen/Stratosphere/Resources/IoTPolicy.hs
--- a/library-gen/Stratosphere/Resources/IoTPolicy.hs
+++ b/library-gen/Stratosphere/Resources/IoTPolicy.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::Policy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PolicyDocument",) . toJSON) _ioTPolicyPolicyDocument
         , fmap (("PolicyName",) . toJSON) _ioTPolicyPolicyName
         ]
diff --git a/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs b/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
--- a/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
+++ b/library-gen/Stratosphere/Resources/IoTPolicyPrincipalAttachment.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::PolicyPrincipalAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PolicyName",) . toJSON) _ioTPolicyPrincipalAttachmentPolicyName
         , (Just . ("Principal",) . toJSON) _ioTPolicyPrincipalAttachmentPrincipal
         ]
diff --git a/library-gen/Stratosphere/Resources/IoTProvisioningTemplate.hs b/library-gen/Stratosphere/Resources/IoTProvisioningTemplate.hs
--- a/library-gen/Stratosphere/Resources/IoTProvisioningTemplate.hs
+++ b/library-gen/Stratosphere/Resources/IoTProvisioningTemplate.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::ProvisioningTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _ioTProvisioningTemplateDescription
         , fmap (("Enabled",) . toJSON) _ioTProvisioningTemplateEnabled
         , fmap (("PreProvisioningHook",) . toJSON) _ioTProvisioningTemplatePreProvisioningHook
diff --git a/library-gen/Stratosphere/Resources/IoTThing.hs b/library-gen/Stratosphere/Resources/IoTThing.hs
--- a/library-gen/Stratosphere/Resources/IoTThing.hs
+++ b/library-gen/Stratosphere/Resources/IoTThing.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::Thing"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AttributePayload",) . toJSON) _ioTThingAttributePayload
         , fmap (("ThingName",) . toJSON) _ioTThingThingName
         ]
diff --git a/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs b/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
--- a/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
+++ b/library-gen/Stratosphere/Resources/IoTThingPrincipalAttachment.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::ThingPrincipalAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Principal",) . toJSON) _ioTThingPrincipalAttachmentPrincipal
         , (Just . ("ThingName",) . toJSON) _ioTThingPrincipalAttachmentThingName
         ]
diff --git a/library-gen/Stratosphere/Resources/IoTThingsGraphFlowTemplate.hs b/library-gen/Stratosphere/Resources/IoTThingsGraphFlowTemplate.hs
--- a/library-gen/Stratosphere/Resources/IoTThingsGraphFlowTemplate.hs
+++ b/library-gen/Stratosphere/Resources/IoTThingsGraphFlowTemplate.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoTThingsGraph::FlowTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CompatibleNamespaceVersion",) . toJSON) _ioTThingsGraphFlowTemplateCompatibleNamespaceVersion
         , (Just . ("Definition",) . toJSON) _ioTThingsGraphFlowTemplateDefinition
         ]
diff --git a/library-gen/Stratosphere/Resources/IoTTopicRule.hs b/library-gen/Stratosphere/Resources/IoTTopicRule.hs
--- a/library-gen/Stratosphere/Resources/IoTTopicRule.hs
+++ b/library-gen/Stratosphere/Resources/IoTTopicRule.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::IoT::TopicRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("RuleName",) . toJSON) _ioTTopicRuleRuleName
         , (Just . ("TopicRulePayload",) . toJSON) _ioTTopicRuleTopicRulePayload
         ]
diff --git a/library-gen/Stratosphere/Resources/KMSAlias.hs b/library-gen/Stratosphere/Resources/KMSAlias.hs
--- a/library-gen/Stratosphere/Resources/KMSAlias.hs
+++ b/library-gen/Stratosphere/Resources/KMSAlias.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KMS::Alias"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AliasName",) . toJSON) _kMSAliasAliasName
         , (Just . ("TargetKeyId",) . toJSON) _kMSAliasTargetKeyId
         ]
diff --git a/library-gen/Stratosphere/Resources/KMSKey.hs b/library-gen/Stratosphere/Resources/KMSKey.hs
--- a/library-gen/Stratosphere/Resources/KMSKey.hs
+++ b/library-gen/Stratosphere/Resources/KMSKey.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KMS::Key"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _kMSKeyDescription
         , fmap (("EnableKeyRotation",) . toJSON) _kMSKeyEnableKeyRotation
         , fmap (("Enabled",) . toJSON) _kMSKeyEnabled
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplication.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplication.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplication.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplication.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalytics::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApplicationCode",) . toJSON) _kinesisAnalyticsApplicationApplicationCode
         , fmap (("ApplicationDescription",) . toJSON) _kinesisAnalyticsApplicationApplicationDescription
         , fmap (("ApplicationName",) . toJSON) _kinesisAnalyticsApplicationApplicationName
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationOutput.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationOutput.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationOutput.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationOutput.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalytics::ApplicationOutput"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _kinesisAnalyticsApplicationOutputApplicationName
         , (Just . ("Output",) . toJSON) _kinesisAnalyticsApplicationOutputOutput
         ]
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationReferenceDataSource.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationReferenceDataSource.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationReferenceDataSource.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsApplicationReferenceDataSource.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalytics::ApplicationReferenceDataSource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _kinesisAnalyticsApplicationReferenceDataSourceApplicationName
         , (Just . ("ReferenceDataSource",) . toJSON) _kinesisAnalyticsApplicationReferenceDataSourceReferenceDataSource
         ]
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2Application.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2Application.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2Application.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2Application.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalyticsV2::Application"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApplicationConfiguration",) . toJSON) _kinesisAnalyticsV2ApplicationApplicationConfiguration
         , fmap (("ApplicationDescription",) . toJSON) _kinesisAnalyticsV2ApplicationApplicationDescription
         , fmap (("ApplicationName",) . toJSON) _kinesisAnalyticsV2ApplicationApplicationName
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationCloudWatchLoggingOption.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationCloudWatchLoggingOption.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationCloudWatchLoggingOption.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationCloudWatchLoggingOption.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _kinesisAnalyticsV2ApplicationCloudWatchLoggingOptionApplicationName
         , (Just . ("CloudWatchLoggingOption",) . toJSON) _kinesisAnalyticsV2ApplicationCloudWatchLoggingOptionCloudWatchLoggingOption
         ]
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationOutput.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationOutput.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationOutput.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationOutput.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalyticsV2::ApplicationOutput"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _kinesisAnalyticsV2ApplicationOutputApplicationName
         , (Just . ("Output",) . toJSON) _kinesisAnalyticsV2ApplicationOutputOutput
         ]
diff --git a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationReferenceDataSource.hs b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationReferenceDataSource.hs
--- a/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationReferenceDataSource.hs
+++ b/library-gen/Stratosphere/Resources/KinesisAnalyticsV2ApplicationReferenceDataSource.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationName",) . toJSON) _kinesisAnalyticsV2ApplicationReferenceDataSourceApplicationName
         , (Just . ("ReferenceDataSource",) . toJSON) _kinesisAnalyticsV2ApplicationReferenceDataSourceReferenceDataSource
         ]
diff --git a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
--- a/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
+++ b/library-gen/Stratosphere/Resources/KinesisFirehoseDeliveryStream.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::KinesisFirehose::DeliveryStream"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeliveryStreamName",) . toJSON) _kinesisFirehoseDeliveryStreamDeliveryStreamName
         , fmap (("DeliveryStreamType",) . toJSON) _kinesisFirehoseDeliveryStreamDeliveryStreamType
         , fmap (("ElasticsearchDestinationConfiguration",) . toJSON) _kinesisFirehoseDeliveryStreamElasticsearchDestinationConfiguration
diff --git a/library-gen/Stratosphere/Resources/KinesisStream.hs b/library-gen/Stratosphere/Resources/KinesisStream.hs
--- a/library-gen/Stratosphere/Resources/KinesisStream.hs
+++ b/library-gen/Stratosphere/Resources/KinesisStream.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Kinesis::Stream"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _kinesisStreamName
         , fmap (("RetentionPeriodHours",) . toJSON) _kinesisStreamRetentionPeriodHours
         , (Just . ("ShardCount",) . toJSON) _kinesisStreamShardCount
diff --git a/library-gen/Stratosphere/Resources/KinesisStreamConsumer.hs b/library-gen/Stratosphere/Resources/KinesisStreamConsumer.hs
--- a/library-gen/Stratosphere/Resources/KinesisStreamConsumer.hs
+++ b/library-gen/Stratosphere/Resources/KinesisStreamConsumer.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Kinesis::StreamConsumer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConsumerName",) . toJSON) _kinesisStreamConsumerConsumerName
         , (Just . ("StreamARN",) . toJSON) _kinesisStreamConsumerStreamARN
         ]
diff --git a/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs b/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs
--- a/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs
+++ b/library-gen/Stratosphere/Resources/LakeFormationDataLakeSettings.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::LakeFormation::DataLakeSettings"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Admins",) . toJSON) _lakeFormationDataLakeSettingsAdmins
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs b/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs
--- a/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs
+++ b/library-gen/Stratosphere/Resources/LakeFormationPermissions.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::LakeFormation::Permissions"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DataLakePrincipal",) . toJSON) _lakeFormationPermissionsDataLakePrincipal
         , fmap (("Permissions",) . toJSON) _lakeFormationPermissionsPermissions
         , fmap (("PermissionsWithGrantOption",) . toJSON) _lakeFormationPermissionsPermissionsWithGrantOption
diff --git a/library-gen/Stratosphere/Resources/LakeFormationResource.hs b/library-gen/Stratosphere/Resources/LakeFormationResource.hs
--- a/library-gen/Stratosphere/Resources/LakeFormationResource.hs
+++ b/library-gen/Stratosphere/Resources/LakeFormationResource.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::LakeFormation::Resource"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceArn",) . toJSON) _lakeFormationResourceResourceArn
         , fmap (("RoleArn",) . toJSON) _lakeFormationResourceRoleArn
         , (Just . ("UseServiceLinkedRole",) . toJSON) _lakeFormationResourceUseServiceLinkedRole
diff --git a/library-gen/Stratosphere/Resources/LambdaAlias.hs b/library-gen/Stratosphere/Resources/LambdaAlias.hs
--- a/library-gen/Stratosphere/Resources/LambdaAlias.hs
+++ b/library-gen/Stratosphere/Resources/LambdaAlias.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::Alias"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _lambdaAliasDescription
         , (Just . ("FunctionName",) . toJSON) _lambdaAliasFunctionName
         , (Just . ("FunctionVersion",) . toJSON) _lambdaAliasFunctionVersion
diff --git a/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs b/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs
--- a/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs
+++ b/library-gen/Stratosphere/Resources/LambdaEventInvokeConfig.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::EventInvokeConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DestinationConfig",) . toJSON) _lambdaEventInvokeConfigDestinationConfig
         , (Just . ("FunctionName",) . toJSON) _lambdaEventInvokeConfigFunctionName
         , fmap (("MaximumEventAgeInSeconds",) . toJSON) _lambdaEventInvokeConfigMaximumEventAgeInSeconds
diff --git a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
--- a/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
+++ b/library-gen/Stratosphere/Resources/LambdaEventSourceMapping.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::EventSourceMapping"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BatchSize",) . toJSON) _lambdaEventSourceMappingBatchSize
         , fmap (("BisectBatchOnFunctionError",) . toJSON) _lambdaEventSourceMappingBisectBatchOnFunctionError
         , fmap (("DestinationConfig",) . toJSON) _lambdaEventSourceMappingDestinationConfig
diff --git a/library-gen/Stratosphere/Resources/LambdaFunction.hs b/library-gen/Stratosphere/Resources/LambdaFunction.hs
--- a/library-gen/Stratosphere/Resources/LambdaFunction.hs
+++ b/library-gen/Stratosphere/Resources/LambdaFunction.hs
@@ -45,7 +45,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::Function"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Code",) . toJSON) _lambdaFunctionCode
         , fmap (("DeadLetterConfig",) . toJSON) _lambdaFunctionDeadLetterConfig
         , fmap (("Description",) . toJSON) _lambdaFunctionDescription
diff --git a/library-gen/Stratosphere/Resources/LambdaLayerVersion.hs b/library-gen/Stratosphere/Resources/LambdaLayerVersion.hs
--- a/library-gen/Stratosphere/Resources/LambdaLayerVersion.hs
+++ b/library-gen/Stratosphere/Resources/LambdaLayerVersion.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::LayerVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CompatibleRuntimes",) . toJSON) _lambdaLayerVersionCompatibleRuntimes
         , (Just . ("Content",) . toJSON) _lambdaLayerVersionContent
         , fmap (("Description",) . toJSON) _lambdaLayerVersionDescription
diff --git a/library-gen/Stratosphere/Resources/LambdaLayerVersionPermission.hs b/library-gen/Stratosphere/Resources/LambdaLayerVersionPermission.hs
--- a/library-gen/Stratosphere/Resources/LambdaLayerVersionPermission.hs
+++ b/library-gen/Stratosphere/Resources/LambdaLayerVersionPermission.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::LayerVersionPermission"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Action",) . toJSON) _lambdaLayerVersionPermissionAction
         , (Just . ("LayerVersionArn",) . toJSON) _lambdaLayerVersionPermissionLayerVersionArn
         , fmap (("OrganizationId",) . toJSON) _lambdaLayerVersionPermissionOrganizationId
diff --git a/library-gen/Stratosphere/Resources/LambdaPermission.hs b/library-gen/Stratosphere/Resources/LambdaPermission.hs
--- a/library-gen/Stratosphere/Resources/LambdaPermission.hs
+++ b/library-gen/Stratosphere/Resources/LambdaPermission.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::Permission"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Action",) . toJSON) _lambdaPermissionAction
         , fmap (("EventSourceToken",) . toJSON) _lambdaPermissionEventSourceToken
         , (Just . ("FunctionName",) . toJSON) _lambdaPermissionFunctionName
diff --git a/library-gen/Stratosphere/Resources/LambdaVersion.hs b/library-gen/Stratosphere/Resources/LambdaVersion.hs
--- a/library-gen/Stratosphere/Resources/LambdaVersion.hs
+++ b/library-gen/Stratosphere/Resources/LambdaVersion.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Lambda::Version"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CodeSha256",) . toJSON) _lambdaVersionCodeSha256
         , fmap (("Description",) . toJSON) _lambdaVersionDescription
         , (Just . ("FunctionName",) . toJSON) _lambdaVersionFunctionName
diff --git a/library-gen/Stratosphere/Resources/LogsDestination.hs b/library-gen/Stratosphere/Resources/LogsDestination.hs
--- a/library-gen/Stratosphere/Resources/LogsDestination.hs
+++ b/library-gen/Stratosphere/Resources/LogsDestination.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Logs::Destination"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DestinationName",) . toJSON) _logsDestinationDestinationName
         , (Just . ("DestinationPolicy",) . toJSON) _logsDestinationDestinationPolicy
         , (Just . ("RoleArn",) . toJSON) _logsDestinationRoleArn
diff --git a/library-gen/Stratosphere/Resources/LogsLogGroup.hs b/library-gen/Stratosphere/Resources/LogsLogGroup.hs
--- a/library-gen/Stratosphere/Resources/LogsLogGroup.hs
+++ b/library-gen/Stratosphere/Resources/LogsLogGroup.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Logs::LogGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("LogGroupName",) . toJSON) _logsLogGroupLogGroupName
         , fmap (("RetentionInDays",) . toJSON) _logsLogGroupRetentionInDays
         ]
diff --git a/library-gen/Stratosphere/Resources/LogsLogStream.hs b/library-gen/Stratosphere/Resources/LogsLogStream.hs
--- a/library-gen/Stratosphere/Resources/LogsLogStream.hs
+++ b/library-gen/Stratosphere/Resources/LogsLogStream.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Logs::LogStream"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("LogGroupName",) . toJSON) _logsLogStreamLogGroupName
         , fmap (("LogStreamName",) . toJSON) _logsLogStreamLogStreamName
         ]
diff --git a/library-gen/Stratosphere/Resources/LogsMetricFilter.hs b/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
--- a/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
+++ b/library-gen/Stratosphere/Resources/LogsMetricFilter.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Logs::MetricFilter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("FilterPattern",) . toJSON) _logsMetricFilterFilterPattern
         , (Just . ("LogGroupName",) . toJSON) _logsMetricFilterLogGroupName
         , (Just . ("MetricTransformations",) . toJSON) _logsMetricFilterMetricTransformations
diff --git a/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs b/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
--- a/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
+++ b/library-gen/Stratosphere/Resources/LogsSubscriptionFilter.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Logs::SubscriptionFilter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DestinationArn",) . toJSON) _logsSubscriptionFilterDestinationArn
         , (Just . ("FilterPattern",) . toJSON) _logsSubscriptionFilterFilterPattern
         , (Just . ("LogGroupName",) . toJSON) _logsSubscriptionFilterLogGroupName
diff --git a/library-gen/Stratosphere/Resources/MSKCluster.hs b/library-gen/Stratosphere/Resources/MSKCluster.hs
--- a/library-gen/Stratosphere/Resources/MSKCluster.hs
+++ b/library-gen/Stratosphere/Resources/MSKCluster.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MSK::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("BrokerNodeGroupInfo",) . toJSON) _mSKClusterBrokerNodeGroupInfo
         , fmap (("ClientAuthentication",) . toJSON) _mSKClusterClientAuthentication
         , (Just . ("ClusterName",) . toJSON) _mSKClusterClusterName
diff --git a/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs b/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs
--- a/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs
+++ b/library-gen/Stratosphere/Resources/MacieCustomDataIdentifier.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Macie::CustomDataIdentifier"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _macieCustomDataIdentifierDescription
         , fmap (("IgnoreWords",) . toJSON) _macieCustomDataIdentifierIgnoreWords
         , fmap (("Keywords",) . toJSON) _macieCustomDataIdentifierKeywords
diff --git a/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs b/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs
--- a/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs
+++ b/library-gen/Stratosphere/Resources/MacieFindingsFilter.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Macie::FindingsFilter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Action",) . toJSON) _macieFindingsFilterAction
         , fmap (("Description",) . toJSON) _macieFindingsFilterDescription
         , (Just . ("Name",) . toJSON) _macieFindingsFilterName
diff --git a/library-gen/Stratosphere/Resources/MacieSession.hs b/library-gen/Stratosphere/Resources/MacieSession.hs
--- a/library-gen/Stratosphere/Resources/MacieSession.hs
+++ b/library-gen/Stratosphere/Resources/MacieSession.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Macie::Session"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("FindingPublishingFrequency",) . toJSON) _macieSessionFindingPublishingFrequency
         , fmap (("Status",) . toJSON) _macieSessionStatus
         ]
diff --git a/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs b/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs
--- a/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs
+++ b/library-gen/Stratosphere/Resources/ManagedBlockchainMember.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ManagedBlockchain::Member"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("InvitationId",) . toJSON) _managedBlockchainMemberInvitationId
         , (Just . ("MemberConfiguration",) . toJSON) _managedBlockchainMemberMemberConfiguration
         , fmap (("NetworkConfiguration",) . toJSON) _managedBlockchainMemberNetworkConfiguration
diff --git a/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs b/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
--- a/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
+++ b/library-gen/Stratosphere/Resources/ManagedBlockchainNode.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ManagedBlockchain::Node"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MemberId",) . toJSON) _managedBlockchainNodeMemberId
         , (Just . ("NetworkId",) . toJSON) _managedBlockchainNodeNetworkId
         , (Just . ("NodeConfiguration",) . toJSON) _managedBlockchainNodeNodeConfiguration
diff --git a/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
--- a/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
+++ b/library-gen/Stratosphere/Resources/MediaConvertJobTemplate.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaConvert::JobTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccelerationSettings",) . toJSON) _mediaConvertJobTemplateAccelerationSettings
         , fmap (("Category",) . toJSON) _mediaConvertJobTemplateCategory
         , fmap (("Description",) . toJSON) _mediaConvertJobTemplateDescription
diff --git a/library-gen/Stratosphere/Resources/MediaConvertPreset.hs b/library-gen/Stratosphere/Resources/MediaConvertPreset.hs
--- a/library-gen/Stratosphere/Resources/MediaConvertPreset.hs
+++ b/library-gen/Stratosphere/Resources/MediaConvertPreset.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaConvert::Preset"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Category",) . toJSON) _mediaConvertPresetCategory
         , fmap (("Description",) . toJSON) _mediaConvertPresetDescription
         , fmap (("Name",) . toJSON) _mediaConvertPresetName
diff --git a/library-gen/Stratosphere/Resources/MediaConvertQueue.hs b/library-gen/Stratosphere/Resources/MediaConvertQueue.hs
--- a/library-gen/Stratosphere/Resources/MediaConvertQueue.hs
+++ b/library-gen/Stratosphere/Resources/MediaConvertQueue.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaConvert::Queue"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _mediaConvertQueueDescription
         , fmap (("Name",) . toJSON) _mediaConvertQueueName
         , fmap (("PricingPlan",) . toJSON) _mediaConvertQueuePricingPlan
diff --git a/library-gen/Stratosphere/Resources/MediaLiveChannel.hs b/library-gen/Stratosphere/Resources/MediaLiveChannel.hs
--- a/library-gen/Stratosphere/Resources/MediaLiveChannel.hs
+++ b/library-gen/Stratosphere/Resources/MediaLiveChannel.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaLive::Channel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ChannelClass",) . toJSON) _mediaLiveChannelChannelClass
         , fmap (("Destinations",) . toJSON) _mediaLiveChannelDestinations
         , fmap (("EncoderSettings",) . toJSON) _mediaLiveChannelEncoderSettings
diff --git a/library-gen/Stratosphere/Resources/MediaLiveInput.hs b/library-gen/Stratosphere/Resources/MediaLiveInput.hs
--- a/library-gen/Stratosphere/Resources/MediaLiveInput.hs
+++ b/library-gen/Stratosphere/Resources/MediaLiveInput.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaLive::Input"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Destinations",) . toJSON) _mediaLiveInputDestinations
         , fmap (("InputSecurityGroups",) . toJSON) _mediaLiveInputInputSecurityGroups
         , fmap (("MediaConnectFlows",) . toJSON) _mediaLiveInputMediaConnectFlows
diff --git a/library-gen/Stratosphere/Resources/MediaLiveInputSecurityGroup.hs b/library-gen/Stratosphere/Resources/MediaLiveInputSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/MediaLiveInputSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/MediaLiveInputSecurityGroup.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaLive::InputSecurityGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _mediaLiveInputSecurityGroupTags
         , fmap (("WhitelistRules",) . toJSON) _mediaLiveInputSecurityGroupWhitelistRules
         ]
diff --git a/library-gen/Stratosphere/Resources/MediaStoreContainer.hs b/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
--- a/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
+++ b/library-gen/Stratosphere/Resources/MediaStoreContainer.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::MediaStore::Container"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccessLoggingEnabled",) . toJSON) _mediaStoreContainerAccessLoggingEnabled
         , (Just . ("ContainerName",) . toJSON) _mediaStoreContainerContainerName
         , fmap (("CorsPolicy",) . toJSON) _mediaStoreContainerCorsPolicy
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBCluster.hs
@@ -44,7 +44,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Neptune::DBCluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssociatedRoles",) . toJSON) _neptuneDBClusterAssociatedRoles
         , fmap (("AvailabilityZones",) . toJSON) _neptuneDBClusterAvailabilityZones
         , fmap (("BackupRetentionPeriod",) . toJSON) _neptuneDBClusterBackupRetentionPeriod
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/NeptuneDBClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBClusterParameterGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Neptune::DBClusterParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _neptuneDBClusterParameterGroupDescription
         , (Just . ("Family",) . toJSON) _neptuneDBClusterParameterGroupFamily
         , fmap (("Name",) . toJSON) _neptuneDBClusterParameterGroupName
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs b/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBInstance.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Neptune::DBInstance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowMajorVersionUpgrade",) . toJSON) _neptuneDBInstanceAllowMajorVersionUpgrade
         , fmap (("AutoMinorVersionUpgrade",) . toJSON) _neptuneDBInstanceAutoMinorVersionUpgrade
         , fmap (("AvailabilityZone",) . toJSON) _neptuneDBInstanceAvailabilityZone
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBParameterGroup.hs b/library-gen/Stratosphere/Resources/NeptuneDBParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBParameterGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Neptune::DBParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _neptuneDBParameterGroupDescription
         , (Just . ("Family",) . toJSON) _neptuneDBParameterGroupFamily
         , fmap (("Name",) . toJSON) _neptuneDBParameterGroupName
diff --git a/library-gen/Stratosphere/Resources/NeptuneDBSubnetGroup.hs b/library-gen/Stratosphere/Resources/NeptuneDBSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/NeptuneDBSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/NeptuneDBSubnetGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Neptune::DBSubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DBSubnetGroupDescription",) . toJSON) _neptuneDBSubnetGroupDBSubnetGroupDescription
         , fmap (("DBSubnetGroupName",) . toJSON) _neptuneDBSubnetGroupDBSubnetGroupName
         , (Just . ("SubnetIds",) . toJSON) _neptuneDBSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs b/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerCustomerGatewayAssociation.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::CustomerGatewayAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("CustomerGatewayArn",) . toJSON) _networkManagerCustomerGatewayAssociationCustomerGatewayArn
         , (Just . ("DeviceId",) . toJSON) _networkManagerCustomerGatewayAssociationDeviceId
         , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerCustomerGatewayAssociationGlobalNetworkId
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs b/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerDevice.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::Device"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _networkManagerDeviceDescription
         , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerDeviceGlobalNetworkId
         , fmap (("Location",) . toJSON) _networkManagerDeviceLocation
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs b/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerGlobalNetwork.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::GlobalNetwork"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _networkManagerGlobalNetworkDescription
         , fmap (("Tags",) . toJSON) _networkManagerGlobalNetworkTags
         ]
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerLink.hs b/library-gen/Stratosphere/Resources/NetworkManagerLink.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerLink.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerLink.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::Link"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Bandwidth",) . toJSON) _networkManagerLinkBandwidth
         , fmap (("Description",) . toJSON) _networkManagerLinkDescription
         , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerLinkGlobalNetworkId
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs b/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerLinkAssociation.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::LinkAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DeviceId",) . toJSON) _networkManagerLinkAssociationDeviceId
         , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerLinkAssociationGlobalNetworkId
         , (Just . ("LinkId",) . toJSON) _networkManagerLinkAssociationLinkId
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerSite.hs b/library-gen/Stratosphere/Resources/NetworkManagerSite.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerSite.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerSite.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::Site"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _networkManagerSiteDescription
         , (Just . ("GlobalNetworkId",) . toJSON) _networkManagerSiteGlobalNetworkId
         , fmap (("Location",) . toJSON) _networkManagerSiteLocation
diff --git a/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs b/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs
--- a/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs
+++ b/library-gen/Stratosphere/Resources/NetworkManagerTransitGatewayRegistration.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::NetworkManager::TransitGatewayRegistration"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("GlobalNetworkId",) . toJSON) _networkManagerTransitGatewayRegistrationGlobalNetworkId
         , (Just . ("TransitGatewayArn",) . toJSON) _networkManagerTransitGatewayRegistrationTransitGatewayArn
         ]
diff --git a/library-gen/Stratosphere/Resources/OpsWorksApp.hs b/library-gen/Stratosphere/Resources/OpsWorksApp.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksApp.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksApp.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::App"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AppSource",) . toJSON) _opsWorksAppAppSource
         , fmap (("Attributes",) . toJSON) _opsWorksAppAttributes
         , fmap (("DataSources",) . toJSON) _opsWorksAppDataSources
diff --git a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksCMServer.hs
@@ -43,7 +43,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorksCM::Server"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssociatePublicIpAddress",) . toJSON) _opsWorksCMServerAssociatePublicIpAddress
         , fmap (("BackupId",) . toJSON) _opsWorksCMServerBackupId
         , fmap (("BackupRetentionCount",) . toJSON) _opsWorksCMServerBackupRetentionCount
diff --git a/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs b/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksElasticLoadBalancerAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::ElasticLoadBalancerAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ElasticLoadBalancerName",) . toJSON) _opsWorksElasticLoadBalancerAttachmentElasticLoadBalancerName
         , (Just . ("LayerId",) . toJSON) _opsWorksElasticLoadBalancerAttachmentLayerId
         ]
diff --git a/library-gen/Stratosphere/Resources/OpsWorksInstance.hs b/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksInstance.hs
@@ -43,7 +43,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::Instance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AgentVersion",) . toJSON) _opsWorksInstanceAgentVersion
         , fmap (("AmiId",) . toJSON) _opsWorksInstanceAmiId
         , fmap (("Architecture",) . toJSON) _opsWorksInstanceArchitecture
diff --git a/library-gen/Stratosphere/Resources/OpsWorksLayer.hs b/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksLayer.hs
@@ -44,7 +44,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::Layer"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Attributes",) . toJSON) _opsWorksLayerAttributes
         , (Just . ("AutoAssignElasticIps",) . toJSON) _opsWorksLayerAutoAssignElasticIps
         , (Just . ("AutoAssignPublicIps",) . toJSON) _opsWorksLayerAutoAssignPublicIps
diff --git a/library-gen/Stratosphere/Resources/OpsWorksStack.hs b/library-gen/Stratosphere/Resources/OpsWorksStack.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksStack.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksStack.hs
@@ -51,7 +51,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::Stack"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AgentVersion",) . toJSON) _opsWorksStackAgentVersion
         , fmap (("Attributes",) . toJSON) _opsWorksStackAttributes
         , fmap (("ChefConfiguration",) . toJSON) _opsWorksStackChefConfiguration
diff --git a/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs b/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksUserProfile.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::UserProfile"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowSelfManagement",) . toJSON) _opsWorksUserProfileAllowSelfManagement
         , (Just . ("IamUserArn",) . toJSON) _opsWorksUserProfileIamUserArn
         , fmap (("SshPublicKey",) . toJSON) _opsWorksUserProfileSshPublicKey
diff --git a/library-gen/Stratosphere/Resources/OpsWorksVolume.hs b/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
--- a/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
+++ b/library-gen/Stratosphere/Resources/OpsWorksVolume.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::OpsWorks::Volume"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Ec2VolumeId",) . toJSON) _opsWorksVolumeEc2VolumeId
         , fmap (("MountPoint",) . toJSON) _opsWorksVolumeMountPoint
         , fmap (("Name",) . toJSON) _opsWorksVolumeName
diff --git a/library-gen/Stratosphere/Resources/PinpointADMChannel.hs b/library-gen/Stratosphere/Resources/PinpointADMChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointADMChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointADMChannel.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::ADMChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointADMChannelApplicationId
         , (Just . ("ClientId",) . toJSON) _pinpointADMChannelClientId
         , (Just . ("ClientSecret",) . toJSON) _pinpointADMChannelClientSecret
diff --git a/library-gen/Stratosphere/Resources/PinpointAPNSChannel.hs b/library-gen/Stratosphere/Resources/PinpointAPNSChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointAPNSChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointAPNSChannel.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::APNSChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointAPNSChannelApplicationId
         , fmap (("BundleId",) . toJSON) _pinpointAPNSChannelBundleId
         , fmap (("Certificate",) . toJSON) _pinpointAPNSChannelCertificate
diff --git a/library-gen/Stratosphere/Resources/PinpointAPNSSandboxChannel.hs b/library-gen/Stratosphere/Resources/PinpointAPNSSandboxChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointAPNSSandboxChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointAPNSSandboxChannel.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::APNSSandboxChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointAPNSSandboxChannelApplicationId
         , fmap (("BundleId",) . toJSON) _pinpointAPNSSandboxChannelBundleId
         , fmap (("Certificate",) . toJSON) _pinpointAPNSSandboxChannelCertificate
diff --git a/library-gen/Stratosphere/Resources/PinpointAPNSVoipChannel.hs b/library-gen/Stratosphere/Resources/PinpointAPNSVoipChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointAPNSVoipChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointAPNSVoipChannel.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::APNSVoipChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointAPNSVoipChannelApplicationId
         , fmap (("BundleId",) . toJSON) _pinpointAPNSVoipChannelBundleId
         , fmap (("Certificate",) . toJSON) _pinpointAPNSVoipChannelCertificate
diff --git a/library-gen/Stratosphere/Resources/PinpointAPNSVoipSandboxChannel.hs b/library-gen/Stratosphere/Resources/PinpointAPNSVoipSandboxChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointAPNSVoipSandboxChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointAPNSVoipSandboxChannel.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::APNSVoipSandboxChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointAPNSVoipSandboxChannelApplicationId
         , fmap (("BundleId",) . toJSON) _pinpointAPNSVoipSandboxChannelBundleId
         , fmap (("Certificate",) . toJSON) _pinpointAPNSVoipSandboxChannelCertificate
diff --git a/library-gen/Stratosphere/Resources/PinpointApp.hs b/library-gen/Stratosphere/Resources/PinpointApp.hs
--- a/library-gen/Stratosphere/Resources/PinpointApp.hs
+++ b/library-gen/Stratosphere/Resources/PinpointApp.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::App"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _pinpointAppName
         , fmap (("Tags",) . toJSON) _pinpointAppTags
         ]
diff --git a/library-gen/Stratosphere/Resources/PinpointApplicationSettings.hs b/library-gen/Stratosphere/Resources/PinpointApplicationSettings.hs
--- a/library-gen/Stratosphere/Resources/PinpointApplicationSettings.hs
+++ b/library-gen/Stratosphere/Resources/PinpointApplicationSettings.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::ApplicationSettings"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointApplicationSettingsApplicationId
         , fmap (("CampaignHook",) . toJSON) _pinpointApplicationSettingsCampaignHook
         , fmap (("CloudWatchMetricsEnabled",) . toJSON) _pinpointApplicationSettingsCloudWatchMetricsEnabled
diff --git a/library-gen/Stratosphere/Resources/PinpointBaiduChannel.hs b/library-gen/Stratosphere/Resources/PinpointBaiduChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointBaiduChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointBaiduChannel.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::BaiduChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiKey",) . toJSON) _pinpointBaiduChannelApiKey
         , (Just . ("ApplicationId",) . toJSON) _pinpointBaiduChannelApplicationId
         , fmap (("Enabled",) . toJSON) _pinpointBaiduChannelEnabled
diff --git a/library-gen/Stratosphere/Resources/PinpointCampaign.hs b/library-gen/Stratosphere/Resources/PinpointCampaign.hs
--- a/library-gen/Stratosphere/Resources/PinpointCampaign.hs
+++ b/library-gen/Stratosphere/Resources/PinpointCampaign.hs
@@ -40,7 +40,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::Campaign"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AdditionalTreatments",) . toJSON) _pinpointCampaignAdditionalTreatments
         , (Just . ("ApplicationId",) . toJSON) _pinpointCampaignApplicationId
         , fmap (("CampaignHook",) . toJSON) _pinpointCampaignCampaignHook
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailChannel.hs b/library-gen/Stratosphere/Resources/PinpointEmailChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailChannel.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::EmailChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointEmailChannelApplicationId
         , fmap (("ConfigurationSet",) . toJSON) _pinpointEmailChannelConfigurationSet
         , fmap (("Enabled",) . toJSON) _pinpointEmailChannelEnabled
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSet.hs b/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSet.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSet.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSet.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::PinpointEmail::ConfigurationSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeliveryOptions",) . toJSON) _pinpointEmailConfigurationSetDeliveryOptions
         , (Just . ("Name",) . toJSON) _pinpointEmailConfigurationSetName
         , fmap (("ReputationOptions",) . toJSON) _pinpointEmailConfigurationSetReputationOptions
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSetEventDestination.hs b/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSetEventDestination.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSetEventDestination.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailConfigurationSetEventDestination.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::PinpointEmail::ConfigurationSetEventDestination"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConfigurationSetName",) . toJSON) _pinpointEmailConfigurationSetEventDestinationConfigurationSetName
         , fmap (("EventDestination",) . toJSON) _pinpointEmailConfigurationSetEventDestinationEventDestination
         , (Just . ("EventDestinationName",) . toJSON) _pinpointEmailConfigurationSetEventDestinationEventDestinationName
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailDedicatedIpPool.hs b/library-gen/Stratosphere/Resources/PinpointEmailDedicatedIpPool.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailDedicatedIpPool.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailDedicatedIpPool.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::PinpointEmail::DedicatedIpPool"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("PoolName",) . toJSON) _pinpointEmailDedicatedIpPoolPoolName
         , fmap (("Tags",) . toJSON) _pinpointEmailDedicatedIpPoolTags
         ]
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailIdentity.hs b/library-gen/Stratosphere/Resources/PinpointEmailIdentity.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailIdentity.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailIdentity.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::PinpointEmail::Identity"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DkimSigningEnabled",) . toJSON) _pinpointEmailIdentityDkimSigningEnabled
         , fmap (("FeedbackForwardingEnabled",) . toJSON) _pinpointEmailIdentityFeedbackForwardingEnabled
         , fmap (("MailFromAttributes",) . toJSON) _pinpointEmailIdentityMailFromAttributes
diff --git a/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::EmailTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DefaultSubstitutions",) . toJSON) _pinpointEmailTemplateDefaultSubstitutions
         , fmap (("HtmlPart",) . toJSON) _pinpointEmailTemplateHtmlPart
         , (Just . ("Subject",) . toJSON) _pinpointEmailTemplateSubject
diff --git a/library-gen/Stratosphere/Resources/PinpointEventStream.hs b/library-gen/Stratosphere/Resources/PinpointEventStream.hs
--- a/library-gen/Stratosphere/Resources/PinpointEventStream.hs
+++ b/library-gen/Stratosphere/Resources/PinpointEventStream.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::EventStream"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointEventStreamApplicationId
         , (Just . ("DestinationStreamArn",) . toJSON) _pinpointEventStreamDestinationStreamArn
         , (Just . ("RoleArn",) . toJSON) _pinpointEventStreamRoleArn
diff --git a/library-gen/Stratosphere/Resources/PinpointGCMChannel.hs b/library-gen/Stratosphere/Resources/PinpointGCMChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointGCMChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointGCMChannel.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::GCMChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApiKey",) . toJSON) _pinpointGCMChannelApiKey
         , (Just . ("ApplicationId",) . toJSON) _pinpointGCMChannelApplicationId
         , fmap (("Enabled",) . toJSON) _pinpointGCMChannelEnabled
diff --git a/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointPushTemplate.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::PushTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ADM",) . toJSON) _pinpointPushTemplateADM
         , fmap (("APNS",) . toJSON) _pinpointPushTemplateAPNS
         , fmap (("Baidu",) . toJSON) _pinpointPushTemplateBaidu
diff --git a/library-gen/Stratosphere/Resources/PinpointSMSChannel.hs b/library-gen/Stratosphere/Resources/PinpointSMSChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointSMSChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointSMSChannel.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::SMSChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointSMSChannelApplicationId
         , fmap (("Enabled",) . toJSON) _pinpointSMSChannelEnabled
         , fmap (("SenderId",) . toJSON) _pinpointSMSChannelSenderId
diff --git a/library-gen/Stratosphere/Resources/PinpointSegment.hs b/library-gen/Stratosphere/Resources/PinpointSegment.hs
--- a/library-gen/Stratosphere/Resources/PinpointSegment.hs
+++ b/library-gen/Stratosphere/Resources/PinpointSegment.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::Segment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointSegmentApplicationId
         , fmap (("Dimensions",) . toJSON) _pinpointSegmentDimensions
         , (Just . ("Name",) . toJSON) _pinpointSegmentName
diff --git a/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
--- a/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
+++ b/library-gen/Stratosphere/Resources/PinpointSmsTemplate.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::SmsTemplate"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Body",) . toJSON) _pinpointSmsTemplateBody
         , fmap (("DefaultSubstitutions",) . toJSON) _pinpointSmsTemplateDefaultSubstitutions
         , fmap (("Tags",) . toJSON) _pinpointSmsTemplateTags
diff --git a/library-gen/Stratosphere/Resources/PinpointVoiceChannel.hs b/library-gen/Stratosphere/Resources/PinpointVoiceChannel.hs
--- a/library-gen/Stratosphere/Resources/PinpointVoiceChannel.hs
+++ b/library-gen/Stratosphere/Resources/PinpointVoiceChannel.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Pinpoint::VoiceChannel"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ApplicationId",) . toJSON) _pinpointVoiceChannelApplicationId
         , fmap (("Enabled",) . toJSON) _pinpointVoiceChannelEnabled
         ]
diff --git a/library-gen/Stratosphere/Resources/QLDBLedger.hs b/library-gen/Stratosphere/Resources/QLDBLedger.hs
--- a/library-gen/Stratosphere/Resources/QLDBLedger.hs
+++ b/library-gen/Stratosphere/Resources/QLDBLedger.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::QLDB::Ledger"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeletionProtection",) . toJSON) _qLDBLedgerDeletionProtection
         , fmap (("Name",) . toJSON) _qLDBLedgerName
         , (Just . ("PermissionsMode",) . toJSON) _qLDBLedgerPermissionsMode
diff --git a/library-gen/Stratosphere/Resources/QLDBStream.hs b/library-gen/Stratosphere/Resources/QLDBStream.hs
--- a/library-gen/Stratosphere/Resources/QLDBStream.hs
+++ b/library-gen/Stratosphere/Resources/QLDBStream.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::QLDB::Stream"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ExclusiveEndTime",) . toJSON) _qLDBStreamExclusiveEndTime
         , (Just . ("InclusiveStartTime",) . toJSON) _qLDBStreamInclusiveStartTime
         , (Just . ("KinesisConfiguration",) . toJSON) _qLDBStreamKinesisConfiguration
diff --git a/library-gen/Stratosphere/Resources/RAMResourceShare.hs b/library-gen/Stratosphere/Resources/RAMResourceShare.hs
--- a/library-gen/Stratosphere/Resources/RAMResourceShare.hs
+++ b/library-gen/Stratosphere/Resources/RAMResourceShare.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RAM::ResourceShare"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowExternalPrincipals",) . toJSON) _rAMResourceShareAllowExternalPrincipals
         , (Just . ("Name",) . toJSON) _rAMResourceShareName
         , fmap (("Principals",) . toJSON) _rAMResourceSharePrincipals
diff --git a/library-gen/Stratosphere/Resources/RDSDBCluster.hs b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
--- a/library-gen/Stratosphere/Resources/RDSDBCluster.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBCluster.hs
@@ -54,7 +54,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBCluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AssociatedRoles",) . toJSON) _rDSDBClusterAssociatedRoles
         , fmap (("AvailabilityZones",) . toJSON) _rDSDBClusterAvailabilityZones
         , fmap (("BacktrackWindow",) . toJSON) _rDSDBClusterBacktrackWindow
diff --git a/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBClusterParameterGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBClusterParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _rDSDBClusterParameterGroupDescription
         , (Just . ("Family",) . toJSON) _rDSDBClusterParameterGroupFamily
         , (Just . ("Parameters",) . toJSON) _rDSDBClusterParameterGroupParameters
diff --git a/library-gen/Stratosphere/Resources/RDSDBInstance.hs b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
--- a/library-gen/Stratosphere/Resources/RDSDBInstance.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBInstance.hs
@@ -75,7 +75,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBInstance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllocatedStorage",) . toJSON) _rDSDBInstanceAllocatedStorage
         , fmap (("AllowMajorVersionUpgrade",) . toJSON) _rDSDBInstanceAllowMajorVersionUpgrade
         , fmap (("AssociatedRoles",) . toJSON) _rDSDBInstanceAssociatedRoles
diff --git a/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs b/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBParameterGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _rDSDBParameterGroupDescription
         , (Just . ("Family",) . toJSON) _rDSDBParameterGroupFamily
         , fmap (("Parameters",) . toJSON) _rDSDBParameterGroupParameters
diff --git a/library-gen/Stratosphere/Resources/RDSDBProxy.hs b/library-gen/Stratosphere/Resources/RDSDBProxy.hs
--- a/library-gen/Stratosphere/Resources/RDSDBProxy.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBProxy.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBProxy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Auth",) . toJSON) _rDSDBProxyAuth
         , (Just . ("DBProxyName",) . toJSON) _rDSDBProxyDBProxyName
         , fmap (("DebugLogging",) . toJSON) _rDSDBProxyDebugLogging
diff --git a/library-gen/Stratosphere/Resources/RDSDBProxyTargetGroup.hs b/library-gen/Stratosphere/Resources/RDSDBProxyTargetGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBProxyTargetGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBProxyTargetGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBProxyTargetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ConnectionPoolConfigurationInfo",) . toJSON) _rDSDBProxyTargetGroupConnectionPoolConfigurationInfo
         , fmap (("DBClusterIdentifiers",) . toJSON) _rDSDBProxyTargetGroupDBClusterIdentifiers
         , fmap (("DBInstanceIdentifiers",) . toJSON) _rDSDBProxyTargetGroupDBInstanceIdentifiers
diff --git a/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs b/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSecurityGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBSecurityGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DBSecurityGroupIngress",) . toJSON) _rDSDBSecurityGroupDBSecurityGroupIngress
         , fmap (("EC2VpcId",) . toJSON) _rDSDBSecurityGroupEC2VpcId
         , (Just . ("GroupDescription",) . toJSON) _rDSDBSecurityGroupGroupDescription
diff --git a/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSecurityGroupIngress.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBSecurityGroupIngress"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CIDRIP",) . toJSON) _rDSDBSecurityGroupIngressCIDRIP
         , (Just . ("DBSecurityGroupName",) . toJSON) _rDSDBSecurityGroupIngressDBSecurityGroupName
         , fmap (("EC2SecurityGroupId",) . toJSON) _rDSDBSecurityGroupIngressEC2SecurityGroupId
diff --git a/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs b/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSDBSubnetGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::DBSubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DBSubnetGroupDescription",) . toJSON) _rDSDBSubnetGroupDBSubnetGroupDescription
         , fmap (("DBSubnetGroupName",) . toJSON) _rDSDBSubnetGroupDBSubnetGroupName
         , (Just . ("SubnetIds",) . toJSON) _rDSDBSubnetGroupSubnetIds
diff --git a/library-gen/Stratosphere/Resources/RDSEventSubscription.hs b/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
--- a/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
+++ b/library-gen/Stratosphere/Resources/RDSEventSubscription.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::EventSubscription"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Enabled",) . toJSON) _rDSEventSubscriptionEnabled
         , fmap (("EventCategories",) . toJSON) _rDSEventSubscriptionEventCategories
         , (Just . ("SnsTopicArn",) . toJSON) _rDSEventSubscriptionSnsTopicArn
diff --git a/library-gen/Stratosphere/Resources/RDSOptionGroup.hs b/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
--- a/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
+++ b/library-gen/Stratosphere/Resources/RDSOptionGroup.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RDS::OptionGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("EngineName",) . toJSON) _rDSOptionGroupEngineName
         , (Just . ("MajorEngineVersion",) . toJSON) _rDSOptionGroupMajorEngineVersion
         , (Just . ("OptionConfigurations",) . toJSON) _rDSOptionGroupOptionConfigurations
diff --git a/library-gen/Stratosphere/Resources/RedshiftCluster.hs b/library-gen/Stratosphere/Resources/RedshiftCluster.hs
--- a/library-gen/Stratosphere/Resources/RedshiftCluster.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftCluster.hs
@@ -51,7 +51,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Redshift::Cluster"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowVersionUpgrade",) . toJSON) _redshiftClusterAllowVersionUpgrade
         , fmap (("AutomatedSnapshotRetentionPeriod",) . toJSON) _redshiftClusterAutomatedSnapshotRetentionPeriod
         , fmap (("AvailabilityZone",) . toJSON) _redshiftClusterAvailabilityZone
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterParameterGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Redshift::ClusterParameterGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _redshiftClusterParameterGroupDescription
         , (Just . ("ParameterGroupFamily",) . toJSON) _redshiftClusterParameterGroupParameterGroupFamily
         , fmap (("Parameters",) . toJSON) _redshiftClusterParameterGroupParameters
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroup.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Redshift::ClusterSecurityGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _redshiftClusterSecurityGroupDescription
         , fmap (("Tags",) . toJSON) _redshiftClusterSecurityGroupTags
         ]
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSecurityGroupIngress.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Redshift::ClusterSecurityGroupIngress"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CIDRIP",) . toJSON) _redshiftClusterSecurityGroupIngressCIDRIP
         , (Just . ("ClusterSecurityGroupName",) . toJSON) _redshiftClusterSecurityGroupIngressClusterSecurityGroupName
         , fmap (("EC2SecurityGroupName",) . toJSON) _redshiftClusterSecurityGroupIngressEC2SecurityGroupName
diff --git a/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs b/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
--- a/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
+++ b/library-gen/Stratosphere/Resources/RedshiftClusterSubnetGroup.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Redshift::ClusterSubnetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Description",) . toJSON) _redshiftClusterSubnetGroupDescription
         , (Just . ("SubnetIds",) . toJSON) _redshiftClusterSubnetGroupSubnetIds
         , fmap (("Tags",) . toJSON) _redshiftClusterSubnetGroupTags
diff --git a/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
--- a/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
+++ b/library-gen/Stratosphere/Resources/ResourceGroupsGroup.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ResourceGroups::Group"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _resourceGroupsGroupDescription
         , (Just . ("Name",) . toJSON) _resourceGroupsGroupName
         , fmap (("ResourceQuery",) . toJSON) _resourceGroupsGroupResourceQuery
diff --git a/library-gen/Stratosphere/Resources/RoboMakerFleet.hs b/library-gen/Stratosphere/Resources/RoboMakerFleet.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerFleet.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerFleet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::Fleet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _roboMakerFleetName
         , fmap (("Tags",) . toJSON) _roboMakerFleetTags
         ]
diff --git a/library-gen/Stratosphere/Resources/RoboMakerRobot.hs b/library-gen/Stratosphere/Resources/RoboMakerRobot.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerRobot.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerRobot.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::Robot"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Architecture",) . toJSON) _roboMakerRobotArchitecture
         , fmap (("Fleet",) . toJSON) _roboMakerRobotFleet
         , (Just . ("GreengrassGroupId",) . toJSON) _roboMakerRobotGreengrassGroupId
diff --git a/library-gen/Stratosphere/Resources/RoboMakerRobotApplication.hs b/library-gen/Stratosphere/Resources/RoboMakerRobotApplication.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerRobotApplication.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerRobotApplication.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::RobotApplication"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CurrentRevisionId",) . toJSON) _roboMakerRobotApplicationCurrentRevisionId
         , fmap (("Name",) . toJSON) _roboMakerRobotApplicationName
         , (Just . ("RobotSoftwareSuite",) . toJSON) _roboMakerRobotApplicationRobotSoftwareSuite
diff --git a/library-gen/Stratosphere/Resources/RoboMakerRobotApplicationVersion.hs b/library-gen/Stratosphere/Resources/RoboMakerRobotApplicationVersion.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerRobotApplicationVersion.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerRobotApplicationVersion.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::RobotApplicationVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Application",) . toJSON) _roboMakerRobotApplicationVersionApplication
         , fmap (("CurrentRevisionId",) . toJSON) _roboMakerRobotApplicationVersionCurrentRevisionId
         ]
diff --git a/library-gen/Stratosphere/Resources/RoboMakerSimulationApplication.hs b/library-gen/Stratosphere/Resources/RoboMakerSimulationApplication.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerSimulationApplication.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerSimulationApplication.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::SimulationApplication"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CurrentRevisionId",) . toJSON) _roboMakerSimulationApplicationCurrentRevisionId
         , fmap (("Name",) . toJSON) _roboMakerSimulationApplicationName
         , (Just . ("RenderingEngine",) . toJSON) _roboMakerSimulationApplicationRenderingEngine
diff --git a/library-gen/Stratosphere/Resources/RoboMakerSimulationApplicationVersion.hs b/library-gen/Stratosphere/Resources/RoboMakerSimulationApplicationVersion.hs
--- a/library-gen/Stratosphere/Resources/RoboMakerSimulationApplicationVersion.hs
+++ b/library-gen/Stratosphere/Resources/RoboMakerSimulationApplicationVersion.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::RoboMaker::SimulationApplicationVersion"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Application",) . toJSON) _roboMakerSimulationApplicationVersionApplication
         , fmap (("CurrentRevisionId",) . toJSON) _roboMakerSimulationApplicationVersionCurrentRevisionId
         ]
diff --git a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
--- a/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
+++ b/library-gen/Stratosphere/Resources/Route53HealthCheck.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53::HealthCheck"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("HealthCheckConfig",) . toJSON) _route53HealthCheckHealthCheckConfig
         , fmap (("HealthCheckTags",) . toJSON) _route53HealthCheckHealthCheckTags
         ]
diff --git a/library-gen/Stratosphere/Resources/Route53HostedZone.hs b/library-gen/Stratosphere/Resources/Route53HostedZone.hs
--- a/library-gen/Stratosphere/Resources/Route53HostedZone.hs
+++ b/library-gen/Stratosphere/Resources/Route53HostedZone.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53::HostedZone"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("HostedZoneConfig",) . toJSON) _route53HostedZoneHostedZoneConfig
         , fmap (("HostedZoneTags",) . toJSON) _route53HostedZoneHostedZoneTags
         , (Just . ("Name",) . toJSON) _route53HostedZoneName
diff --git a/library-gen/Stratosphere/Resources/Route53RecordSet.hs b/library-gen/Stratosphere/Resources/Route53RecordSet.hs
--- a/library-gen/Stratosphere/Resources/Route53RecordSet.hs
+++ b/library-gen/Stratosphere/Resources/Route53RecordSet.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53::RecordSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AliasTarget",) . toJSON) _route53RecordSetAliasTarget
         , fmap (("Comment",) . toJSON) _route53RecordSetComment
         , fmap (("Failover",) . toJSON) _route53RecordSetFailover
diff --git a/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs b/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
--- a/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
+++ b/library-gen/Stratosphere/Resources/Route53RecordSetGroup.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53::RecordSetGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Comment",) . toJSON) _route53RecordSetGroupComment
         , fmap (("HostedZoneId",) . toJSON) _route53RecordSetGroupHostedZoneId
         , fmap (("HostedZoneName",) . toJSON) _route53RecordSetGroupHostedZoneName
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverEndpoint.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverEndpoint.hs
--- a/library-gen/Stratosphere/Resources/Route53ResolverResolverEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverEndpoint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53Resolver::ResolverEndpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Direction",) . toJSON) _route53ResolverResolverEndpointDirection
         , (Just . ("IpAddresses",) . toJSON) _route53ResolverResolverEndpointIpAddresses
         , fmap (("Name",) . toJSON) _route53ResolverResolverEndpointName
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs
--- a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfig.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53Resolver::ResolverQueryLoggingConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DestinationArn",) . toJSON) _route53ResolverResolverQueryLoggingConfigDestinationArn
         , fmap (("Name",) . toJSON) _route53ResolverResolverQueryLoggingConfigName
         ]
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs
--- a/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverQueryLoggingConfigAssociation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ResolverQueryLogConfigId",) . toJSON) _route53ResolverResolverQueryLoggingConfigAssociationResolverQueryLogConfigId
         , fmap (("ResourceId",) . toJSON) _route53ResolverResolverQueryLoggingConfigAssociationResourceId
         ]
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverRule.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverRule.hs
--- a/library-gen/Stratosphere/Resources/Route53ResolverResolverRule.hs
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverRule.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53Resolver::ResolverRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DomainName",) . toJSON) _route53ResolverResolverRuleDomainName
         , fmap (("Name",) . toJSON) _route53ResolverResolverRuleName
         , fmap (("ResolverEndpointId",) . toJSON) _route53ResolverResolverRuleResolverEndpointId
diff --git a/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs b/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs
--- a/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs
+++ b/library-gen/Stratosphere/Resources/Route53ResolverResolverRuleAssociation.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Route53Resolver::ResolverRuleAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _route53ResolverResolverRuleAssociationName
         , (Just . ("ResolverRuleId",) . toJSON) _route53ResolverResolverRuleAssociationResolverRuleId
         , (Just . ("VPCId",) . toJSON) _route53ResolverResolverRuleAssociationVPCId
diff --git a/library-gen/Stratosphere/Resources/S3AccessPoint.hs b/library-gen/Stratosphere/Resources/S3AccessPoint.hs
--- a/library-gen/Stratosphere/Resources/S3AccessPoint.hs
+++ b/library-gen/Stratosphere/Resources/S3AccessPoint.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::S3::AccessPoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Bucket",) . toJSON) _s3AccessPointBucket
         , fmap (("CreationDate",) . toJSON) _s3AccessPointCreationDate
         , fmap (("Name",) . toJSON) _s3AccessPointName
diff --git a/library-gen/Stratosphere/Resources/S3Bucket.hs b/library-gen/Stratosphere/Resources/S3Bucket.hs
--- a/library-gen/Stratosphere/Resources/S3Bucket.hs
+++ b/library-gen/Stratosphere/Resources/S3Bucket.hs
@@ -54,7 +54,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::S3::Bucket"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AccelerateConfiguration",) . toJSON) _s3BucketAccelerateConfiguration
         , fmap (("AccessControl",) . toJSON) _s3BucketAccessControl
         , fmap (("AnalyticsConfigurations",) . toJSON) _s3BucketAnalyticsConfigurations
diff --git a/library-gen/Stratosphere/Resources/S3BucketPolicy.hs b/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
--- a/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
+++ b/library-gen/Stratosphere/Resources/S3BucketPolicy.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::S3::BucketPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Bucket",) . toJSON) _s3BucketPolicyBucket
         , (Just . ("PolicyDocument",) . toJSON) _s3BucketPolicyPolicyDocument
         ]
diff --git a/library-gen/Stratosphere/Resources/SDBDomain.hs b/library-gen/Stratosphere/Resources/SDBDomain.hs
--- a/library-gen/Stratosphere/Resources/SDBDomain.hs
+++ b/library-gen/Stratosphere/Resources/SDBDomain.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SDB::Domain"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _sDBDomainDescription
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/SESConfigurationSet.hs b/library-gen/Stratosphere/Resources/SESConfigurationSet.hs
--- a/library-gen/Stratosphere/Resources/SESConfigurationSet.hs
+++ b/library-gen/Stratosphere/Resources/SESConfigurationSet.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::ConfigurationSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Name",) . toJSON) _sESConfigurationSetName
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/SESConfigurationSetEventDestination.hs b/library-gen/Stratosphere/Resources/SESConfigurationSetEventDestination.hs
--- a/library-gen/Stratosphere/Resources/SESConfigurationSetEventDestination.hs
+++ b/library-gen/Stratosphere/Resources/SESConfigurationSetEventDestination.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::ConfigurationSetEventDestination"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ConfigurationSetName",) . toJSON) _sESConfigurationSetEventDestinationConfigurationSetName
         , (Just . ("EventDestination",) . toJSON) _sESConfigurationSetEventDestinationEventDestination
         ]
diff --git a/library-gen/Stratosphere/Resources/SESReceiptFilter.hs b/library-gen/Stratosphere/Resources/SESReceiptFilter.hs
--- a/library-gen/Stratosphere/Resources/SESReceiptFilter.hs
+++ b/library-gen/Stratosphere/Resources/SESReceiptFilter.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::ReceiptFilter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Filter",) . toJSON) _sESReceiptFilterFilter
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/SESReceiptRule.hs b/library-gen/Stratosphere/Resources/SESReceiptRule.hs
--- a/library-gen/Stratosphere/Resources/SESReceiptRule.hs
+++ b/library-gen/Stratosphere/Resources/SESReceiptRule.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::ReceiptRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("After",) . toJSON) _sESReceiptRuleAfter
         , (Just . ("Rule",) . toJSON) _sESReceiptRuleRule
         , (Just . ("RuleSetName",) . toJSON) _sESReceiptRuleRuleSetName
diff --git a/library-gen/Stratosphere/Resources/SESReceiptRuleSet.hs b/library-gen/Stratosphere/Resources/SESReceiptRuleSet.hs
--- a/library-gen/Stratosphere/Resources/SESReceiptRuleSet.hs
+++ b/library-gen/Stratosphere/Resources/SESReceiptRuleSet.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::ReceiptRuleSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("RuleSetName",) . toJSON) _sESReceiptRuleSetRuleSetName
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/SESTemplate.hs b/library-gen/Stratosphere/Resources/SESTemplate.hs
--- a/library-gen/Stratosphere/Resources/SESTemplate.hs
+++ b/library-gen/Stratosphere/Resources/SESTemplate.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SES::Template"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Template",) . toJSON) _sESTemplateTemplate
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/SNSSubscription.hs b/library-gen/Stratosphere/Resources/SNSSubscription.hs
--- a/library-gen/Stratosphere/Resources/SNSSubscription.hs
+++ b/library-gen/Stratosphere/Resources/SNSSubscription.hs
@@ -29,7 +29,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SNS::Subscription"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DeliveryPolicy",) . toJSON) _sNSSubscriptionDeliveryPolicy
         , fmap (("Endpoint",) . toJSON) _sNSSubscriptionEndpoint
         , fmap (("FilterPolicy",) . toJSON) _sNSSubscriptionFilterPolicy
diff --git a/library-gen/Stratosphere/Resources/SNSTopic.hs b/library-gen/Stratosphere/Resources/SNSTopic.hs
--- a/library-gen/Stratosphere/Resources/SNSTopic.hs
+++ b/library-gen/Stratosphere/Resources/SNSTopic.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SNS::Topic"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ContentBasedDeduplication",) . toJSON) _sNSTopicContentBasedDeduplication
         , fmap (("DisplayName",) . toJSON) _sNSTopicDisplayName
         , fmap (("KmsMasterKeyId",) . toJSON) _sNSTopicKmsMasterKeyId
diff --git a/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs b/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
--- a/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
+++ b/library-gen/Stratosphere/Resources/SNSTopicPolicy.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SNS::TopicPolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PolicyDocument",) . toJSON) _sNSTopicPolicyPolicyDocument
         , (Just . ("Topics",) . toJSON) _sNSTopicPolicyTopics
         ]
diff --git a/library-gen/Stratosphere/Resources/SQSQueue.hs b/library-gen/Stratosphere/Resources/SQSQueue.hs
--- a/library-gen/Stratosphere/Resources/SQSQueue.hs
+++ b/library-gen/Stratosphere/Resources/SQSQueue.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SQS::Queue"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ContentBasedDeduplication",) . toJSON) _sQSQueueContentBasedDeduplication
         , fmap (("DelaySeconds",) . toJSON) _sQSQueueDelaySeconds
         , fmap (("FifoQueue",) . toJSON) _sQSQueueFifoQueue
diff --git a/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs b/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
--- a/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
+++ b/library-gen/Stratosphere/Resources/SQSQueuePolicy.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SQS::QueuePolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("PolicyDocument",) . toJSON) _sQSQueuePolicyPolicyDocument
         , (Just . ("Queues",) . toJSON) _sQSQueuePolicyQueues
         ]
diff --git a/library-gen/Stratosphere/Resources/SSMAssociation.hs b/library-gen/Stratosphere/Resources/SSMAssociation.hs
--- a/library-gen/Stratosphere/Resources/SSMAssociation.hs
+++ b/library-gen/Stratosphere/Resources/SSMAssociation.hs
@@ -38,7 +38,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::Association"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApplyOnlyAtCronInterval",) . toJSON) _sSMAssociationApplyOnlyAtCronInterval
         , fmap (("AssociationName",) . toJSON) _sSMAssociationAssociationName
         , fmap (("AutomationTargetParameterName",) . toJSON) _sSMAssociationAutomationTargetParameterName
diff --git a/library-gen/Stratosphere/Resources/SSMDocument.hs b/library-gen/Stratosphere/Resources/SSMDocument.hs
--- a/library-gen/Stratosphere/Resources/SSMDocument.hs
+++ b/library-gen/Stratosphere/Resources/SSMDocument.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::Document"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Content",) . toJSON) _sSMDocumentContent
         , fmap (("DocumentType",) . toJSON) _sSMDocumentDocumentType
         , fmap (("Name",) . toJSON) _sSMDocumentName
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindow.hs
@@ -32,7 +32,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::MaintenanceWindow"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("AllowUnassociatedTargets",) . toJSON) _sSMMaintenanceWindowAllowUnassociatedTargets
         , (Just . ("Cutoff",) . toJSON) _sSMMaintenanceWindowCutoff
         , fmap (("Description",) . toJSON) _sSMMaintenanceWindowDescription
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTarget.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::MaintenanceWindowTarget"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _sSMMaintenanceWindowTargetDescription
         , fmap (("Name",) . toJSON) _sSMMaintenanceWindowTargetName
         , fmap (("OwnerInformation",) . toJSON) _sSMMaintenanceWindowTargetOwnerInformation
diff --git a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
--- a/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
+++ b/library-gen/Stratosphere/Resources/SSMMaintenanceWindowTask.hs
@@ -36,7 +36,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::MaintenanceWindowTask"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _sSMMaintenanceWindowTaskDescription
         , fmap (("LoggingInfo",) . toJSON) _sSMMaintenanceWindowTaskLoggingInfo
         , (Just . ("MaxConcurrency",) . toJSON) _sSMMaintenanceWindowTaskMaxConcurrency
diff --git a/library-gen/Stratosphere/Resources/SSMParameter.hs b/library-gen/Stratosphere/Resources/SSMParameter.hs
--- a/library-gen/Stratosphere/Resources/SSMParameter.hs
+++ b/library-gen/Stratosphere/Resources/SSMParameter.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::Parameter"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AllowedPattern",) . toJSON) _sSMParameterAllowedPattern
         , fmap (("DataType",) . toJSON) _sSMParameterDataType
         , fmap (("Description",) . toJSON) _sSMParameterDescription
diff --git a/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs b/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
--- a/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
+++ b/library-gen/Stratosphere/Resources/SSMPatchBaseline.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::PatchBaseline"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ApprovalRules",) . toJSON) _sSMPatchBaselineApprovalRules
         , fmap (("ApprovedPatches",) . toJSON) _sSMPatchBaselineApprovedPatches
         , fmap (("ApprovedPatchesComplianceLevel",) . toJSON) _sSMPatchBaselineApprovedPatchesComplianceLevel
diff --git a/library-gen/Stratosphere/Resources/SSMResourceDataSync.hs b/library-gen/Stratosphere/Resources/SSMResourceDataSync.hs
--- a/library-gen/Stratosphere/Resources/SSMResourceDataSync.hs
+++ b/library-gen/Stratosphere/Resources/SSMResourceDataSync.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SSM::ResourceDataSync"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("BucketName",) . toJSON) _sSMResourceDataSyncBucketName
         , fmap (("BucketPrefix",) . toJSON) _sSMResourceDataSyncBucketPrefix
         , fmap (("BucketRegion",) . toJSON) _sSMResourceDataSyncBucketRegion
diff --git a/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs b/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs
--- a/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerCodeRepository.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::CodeRepository"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CodeRepositoryName",) . toJSON) _sageMakerCodeRepositoryCodeRepositoryName
         , (Just . ("GitConfig",) . toJSON) _sageMakerCodeRepositoryGitConfig
         ]
diff --git a/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs b/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
--- a/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerEndpoint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::Endpoint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("EndpointConfigName",) . toJSON) _sageMakerEndpointEndpointConfigName
         , fmap (("EndpointName",) . toJSON) _sageMakerEndpointEndpointName
         , fmap (("ExcludeRetainedVariantProperties",) . toJSON) _sageMakerEndpointExcludeRetainedVariantProperties
diff --git a/library-gen/Stratosphere/Resources/SageMakerEndpointConfig.hs b/library-gen/Stratosphere/Resources/SageMakerEndpointConfig.hs
--- a/library-gen/Stratosphere/Resources/SageMakerEndpointConfig.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerEndpointConfig.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::EndpointConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DataCaptureConfig",) . toJSON) _sageMakerEndpointConfigDataCaptureConfig
         , fmap (("EndpointConfigName",) . toJSON) _sageMakerEndpointConfigEndpointConfigName
         , fmap (("KmsKeyId",) . toJSON) _sageMakerEndpointConfigKmsKeyId
diff --git a/library-gen/Stratosphere/Resources/SageMakerModel.hs b/library-gen/Stratosphere/Resources/SageMakerModel.hs
--- a/library-gen/Stratosphere/Resources/SageMakerModel.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerModel.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::Model"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Containers",) . toJSON) _sageMakerModelContainers
         , fmap (("EnableNetworkIsolation",) . toJSON) _sageMakerModelEnableNetworkIsolation
         , (Just . ("ExecutionRoleArn",) . toJSON) _sageMakerModelExecutionRoleArn
diff --git a/library-gen/Stratosphere/Resources/SageMakerMonitoringSchedule.hs b/library-gen/Stratosphere/Resources/SageMakerMonitoringSchedule.hs
--- a/library-gen/Stratosphere/Resources/SageMakerMonitoringSchedule.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerMonitoringSchedule.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::MonitoringSchedule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("CreationTime",) . toJSON) _sageMakerMonitoringScheduleCreationTime
         , fmap (("EndpointName",) . toJSON) _sageMakerMonitoringScheduleEndpointName
         , fmap (("FailureReason",) . toJSON) _sageMakerMonitoringScheduleFailureReason
diff --git a/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs b/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
--- a/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerNotebookInstance.hs
@@ -35,7 +35,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::NotebookInstance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceleratorTypes",) . toJSON) _sageMakerNotebookInstanceAcceleratorTypes
         , fmap (("AdditionalCodeRepositories",) . toJSON) _sageMakerNotebookInstanceAdditionalCodeRepositories
         , fmap (("DefaultCodeRepository",) . toJSON) _sageMakerNotebookInstanceDefaultCodeRepository
diff --git a/library-gen/Stratosphere/Resources/SageMakerNotebookInstanceLifecycleConfig.hs b/library-gen/Stratosphere/Resources/SageMakerNotebookInstanceLifecycleConfig.hs
--- a/library-gen/Stratosphere/Resources/SageMakerNotebookInstanceLifecycleConfig.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerNotebookInstanceLifecycleConfig.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::NotebookInstanceLifecycleConfig"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("NotebookInstanceLifecycleConfigName",) . toJSON) _sageMakerNotebookInstanceLifecycleConfigNotebookInstanceLifecycleConfigName
         , fmap (("OnCreate",) . toJSON) _sageMakerNotebookInstanceLifecycleConfigOnCreate
         , fmap (("OnStart",) . toJSON) _sageMakerNotebookInstanceLifecycleConfigOnStart
diff --git a/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs b/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs
--- a/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs
+++ b/library-gen/Stratosphere/Resources/SageMakerWorkteam.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SageMaker::Workteam"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _sageMakerWorkteamDescription
         , fmap (("MemberDefinitions",) . toJSON) _sageMakerWorkteamMemberDefinitions
         , fmap (("NotificationConfiguration",) . toJSON) _sageMakerWorkteamNotificationConfiguration
diff --git a/library-gen/Stratosphere/Resources/SecretsManagerResourcePolicy.hs b/library-gen/Stratosphere/Resources/SecretsManagerResourcePolicy.hs
--- a/library-gen/Stratosphere/Resources/SecretsManagerResourcePolicy.hs
+++ b/library-gen/Stratosphere/Resources/SecretsManagerResourcePolicy.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SecretsManager::ResourcePolicy"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourcePolicy",) . toJSON) _secretsManagerResourcePolicyResourcePolicy
         , (Just . ("SecretId",) . toJSON) _secretsManagerResourcePolicySecretId
         ]
diff --git a/library-gen/Stratosphere/Resources/SecretsManagerRotationSchedule.hs b/library-gen/Stratosphere/Resources/SecretsManagerRotationSchedule.hs
--- a/library-gen/Stratosphere/Resources/SecretsManagerRotationSchedule.hs
+++ b/library-gen/Stratosphere/Resources/SecretsManagerRotationSchedule.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SecretsManager::RotationSchedule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("HostedRotationLambda",) . toJSON) _secretsManagerRotationScheduleHostedRotationLambda
         , fmap (("RotationLambdaARN",) . toJSON) _secretsManagerRotationScheduleRotationLambdaARN
         , fmap (("RotationRules",) . toJSON) _secretsManagerRotationScheduleRotationRules
diff --git a/library-gen/Stratosphere/Resources/SecretsManagerSecret.hs b/library-gen/Stratosphere/Resources/SecretsManagerSecret.hs
--- a/library-gen/Stratosphere/Resources/SecretsManagerSecret.hs
+++ b/library-gen/Stratosphere/Resources/SecretsManagerSecret.hs
@@ -28,7 +28,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SecretsManager::Secret"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _secretsManagerSecretDescription
         , fmap (("GenerateSecretString",) . toJSON) _secretsManagerSecretGenerateSecretString
         , fmap (("KmsKeyId",) . toJSON) _secretsManagerSecretKmsKeyId
diff --git a/library-gen/Stratosphere/Resources/SecretsManagerSecretTargetAttachment.hs b/library-gen/Stratosphere/Resources/SecretsManagerSecretTargetAttachment.hs
--- a/library-gen/Stratosphere/Resources/SecretsManagerSecretTargetAttachment.hs
+++ b/library-gen/Stratosphere/Resources/SecretsManagerSecretTargetAttachment.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SecretsManager::SecretTargetAttachment"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("SecretId",) . toJSON) _secretsManagerSecretTargetAttachmentSecretId
         , (Just . ("TargetId",) . toJSON) _secretsManagerSecretTargetAttachmentTargetId
         , (Just . ("TargetType",) . toJSON) _secretsManagerSecretTargetAttachmentTargetType
diff --git a/library-gen/Stratosphere/Resources/SecurityHubHub.hs b/library-gen/Stratosphere/Resources/SecurityHubHub.hs
--- a/library-gen/Stratosphere/Resources/SecurityHubHub.hs
+++ b/library-gen/Stratosphere/Resources/SecurityHubHub.hs
@@ -22,7 +22,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::SecurityHub::Hub"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Tags",) . toJSON) _securityHubHubTags
         ]
     }
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogAcceptedPortfolioShare.hs b/library-gen/Stratosphere/Resources/ServiceCatalogAcceptedPortfolioShare.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogAcceptedPortfolioShare.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogAcceptedPortfolioShare.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::AcceptedPortfolioShare"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogAcceptedPortfolioShareAcceptLanguage
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogAcceptedPortfolioSharePortfolioId
         ]
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProduct.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::CloudFormationProduct"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogCloudFormationProductAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogCloudFormationProductDescription
         , fmap (("Distributor",) . toJSON) _serviceCatalogCloudFormationProductDistributor
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogCloudFormationProvisionedProduct.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogCloudFormationProvisionedProductAcceptLanguage
         , fmap (("NotificationArns",) . toJSON) _serviceCatalogCloudFormationProvisionedProductNotificationArns
         , fmap (("PathId",) . toJSON) _serviceCatalogCloudFormationProvisionedProductPathId
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchNotificationConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchNotificationConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchNotificationConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchNotificationConstraint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::LaunchNotificationConstraint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogLaunchNotificationConstraintAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogLaunchNotificationConstraintDescription
         , (Just . ("NotificationArns",) . toJSON) _serviceCatalogLaunchNotificationConstraintNotificationArns
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchRoleConstraint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::LaunchRoleConstraint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogLaunchRoleConstraintAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogLaunchRoleConstraintDescription
         , fmap (("LocalRoleName",) . toJSON) _serviceCatalogLaunchRoleConstraintLocalRoleName
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchTemplateConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchTemplateConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogLaunchTemplateConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogLaunchTemplateConstraint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::LaunchTemplateConstraint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogLaunchTemplateConstraintAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogLaunchTemplateConstraintDescription
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogLaunchTemplateConstraintPortfolioId
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolio.hs b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolio.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolio.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolio.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::Portfolio"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogPortfolioAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogPortfolioDescription
         , (Just . ("DisplayName",) . toJSON) _serviceCatalogPortfolioDisplayName
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioPrincipalAssociation.hs b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioPrincipalAssociation.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioPrincipalAssociation.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioPrincipalAssociation.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::PortfolioPrincipalAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationAcceptLanguage
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationPortfolioId
         , (Just . ("PrincipalARN",) . toJSON) _serviceCatalogPortfolioPrincipalAssociationPrincipalARN
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioProductAssociation.hs b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioProductAssociation.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioProductAssociation.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioProductAssociation.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::PortfolioProductAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogPortfolioProductAssociationAcceptLanguage
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogPortfolioProductAssociationPortfolioId
         , (Just . ("ProductId",) . toJSON) _serviceCatalogPortfolioProductAssociationProductId
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioShare.hs b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioShare.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioShare.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogPortfolioShare.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::PortfolioShare"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogPortfolioShareAcceptLanguage
         , (Just . ("AccountId",) . toJSON) _serviceCatalogPortfolioShareAccountId
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogPortfolioSharePortfolioId
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogResourceUpdateConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogResourceUpdateConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogResourceUpdateConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogResourceUpdateConstraint.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::ResourceUpdateConstraint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogResourceUpdateConstraintAcceptLanguage
         , fmap (("Description",) . toJSON) _serviceCatalogResourceUpdateConstraintDescription
         , (Just . ("PortfolioId",) . toJSON) _serviceCatalogResourceUpdateConstraintPortfolioId
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogStackSetConstraint.hs b/library-gen/Stratosphere/Resources/ServiceCatalogStackSetConstraint.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogStackSetConstraint.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogStackSetConstraint.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::StackSetConstraint"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("AcceptLanguage",) . toJSON) _serviceCatalogStackSetConstraintAcceptLanguage
         , (Just . ("AccountList",) . toJSON) _serviceCatalogStackSetConstraintAccountList
         , (Just . ("AdminRole",) . toJSON) _serviceCatalogStackSetConstraintAdminRole
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs b/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogTagOption.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::TagOption"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Active",) . toJSON) _serviceCatalogTagOptionActive
         , (Just . ("Key",) . toJSON) _serviceCatalogTagOptionKey
         , (Just . ("Value",) . toJSON) _serviceCatalogTagOptionValue
diff --git a/library-gen/Stratosphere/Resources/ServiceCatalogTagOptionAssociation.hs b/library-gen/Stratosphere/Resources/ServiceCatalogTagOptionAssociation.hs
--- a/library-gen/Stratosphere/Resources/ServiceCatalogTagOptionAssociation.hs
+++ b/library-gen/Stratosphere/Resources/ServiceCatalogTagOptionAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceCatalog::TagOptionAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceId",) . toJSON) _serviceCatalogTagOptionAssociationResourceId
         , (Just . ("TagOptionId",) . toJSON) _serviceCatalogTagOptionAssociationTagOptionId
         ]
diff --git a/library-gen/Stratosphere/Resources/ServiceDiscoveryHttpNamespace.hs b/library-gen/Stratosphere/Resources/ServiceDiscoveryHttpNamespace.hs
--- a/library-gen/Stratosphere/Resources/ServiceDiscoveryHttpNamespace.hs
+++ b/library-gen/Stratosphere/Resources/ServiceDiscoveryHttpNamespace.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceDiscovery::HttpNamespace"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _serviceDiscoveryHttpNamespaceDescription
         , (Just . ("Name",) . toJSON) _serviceDiscoveryHttpNamespaceName
         , fmap (("Tags",) . toJSON) _serviceDiscoveryHttpNamespaceTags
diff --git a/library-gen/Stratosphere/Resources/ServiceDiscoveryInstance.hs b/library-gen/Stratosphere/Resources/ServiceDiscoveryInstance.hs
--- a/library-gen/Stratosphere/Resources/ServiceDiscoveryInstance.hs
+++ b/library-gen/Stratosphere/Resources/ServiceDiscoveryInstance.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceDiscovery::Instance"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("InstanceAttributes",) . toJSON) _serviceDiscoveryInstanceInstanceAttributes
         , fmap (("InstanceId",) . toJSON) _serviceDiscoveryInstanceInstanceId
         , (Just . ("ServiceId",) . toJSON) _serviceDiscoveryInstanceServiceId
diff --git a/library-gen/Stratosphere/Resources/ServiceDiscoveryPrivateDnsNamespace.hs b/library-gen/Stratosphere/Resources/ServiceDiscoveryPrivateDnsNamespace.hs
--- a/library-gen/Stratosphere/Resources/ServiceDiscoveryPrivateDnsNamespace.hs
+++ b/library-gen/Stratosphere/Resources/ServiceDiscoveryPrivateDnsNamespace.hs
@@ -25,7 +25,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceDiscovery::PrivateDnsNamespace"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _serviceDiscoveryPrivateDnsNamespaceDescription
         , (Just . ("Name",) . toJSON) _serviceDiscoveryPrivateDnsNamespaceName
         , fmap (("Tags",) . toJSON) _serviceDiscoveryPrivateDnsNamespaceTags
diff --git a/library-gen/Stratosphere/Resources/ServiceDiscoveryPublicDnsNamespace.hs b/library-gen/Stratosphere/Resources/ServiceDiscoveryPublicDnsNamespace.hs
--- a/library-gen/Stratosphere/Resources/ServiceDiscoveryPublicDnsNamespace.hs
+++ b/library-gen/Stratosphere/Resources/ServiceDiscoveryPublicDnsNamespace.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceDiscovery::PublicDnsNamespace"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _serviceDiscoveryPublicDnsNamespaceDescription
         , (Just . ("Name",) . toJSON) _serviceDiscoveryPublicDnsNamespaceName
         , fmap (("Tags",) . toJSON) _serviceDiscoveryPublicDnsNamespaceTags
diff --git a/library-gen/Stratosphere/Resources/ServiceDiscoveryService.hs b/library-gen/Stratosphere/Resources/ServiceDiscoveryService.hs
--- a/library-gen/Stratosphere/Resources/ServiceDiscoveryService.hs
+++ b/library-gen/Stratosphere/Resources/ServiceDiscoveryService.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::ServiceDiscovery::Service"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _serviceDiscoveryServiceDescription
         , fmap (("DnsConfig",) . toJSON) _serviceDiscoveryServiceDnsConfig
         , fmap (("HealthCheckConfig",) . toJSON) _serviceDiscoveryServiceHealthCheckConfig
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs b/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsActivity.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::StepFunctions::Activity"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _stepFunctionsActivityName
         , fmap (("Tags",) . toJSON) _stepFunctionsActivityTags
         ]
diff --git a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
--- a/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
+++ b/library-gen/Stratosphere/Resources/StepFunctionsStateMachine.hs
@@ -33,7 +33,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::StepFunctions::StateMachine"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("DefinitionS3Location",) . toJSON) _stepFunctionsStateMachineDefinitionS3Location
         , fmap (("DefinitionString",) . toJSON) _stepFunctionsStateMachineDefinitionString
         , fmap (("DefinitionSubstitutions",) . toJSON) _stepFunctionsStateMachineDefinitionSubstitutions
diff --git a/library-gen/Stratosphere/Resources/SyntheticsCanary.hs b/library-gen/Stratosphere/Resources/SyntheticsCanary.hs
--- a/library-gen/Stratosphere/Resources/SyntheticsCanary.hs
+++ b/library-gen/Stratosphere/Resources/SyntheticsCanary.hs
@@ -37,7 +37,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Synthetics::Canary"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ArtifactS3Location",) . toJSON) _syntheticsCanaryArtifactS3Location
         , (Just . ("Code",) . toJSON) _syntheticsCanaryCode
         , (Just . ("ExecutionRoleArn",) . toJSON) _syntheticsCanaryExecutionRoleArn
diff --git a/library-gen/Stratosphere/Resources/TransferServer.hs b/library-gen/Stratosphere/Resources/TransferServer.hs
--- a/library-gen/Stratosphere/Resources/TransferServer.hs
+++ b/library-gen/Stratosphere/Resources/TransferServer.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Transfer::Server"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Certificate",) . toJSON) _transferServerCertificate
         , fmap (("EndpointDetails",) . toJSON) _transferServerEndpointDetails
         , fmap (("EndpointType",) . toJSON) _transferServerEndpointType
diff --git a/library-gen/Stratosphere/Resources/TransferUser.hs b/library-gen/Stratosphere/Resources/TransferUser.hs
--- a/library-gen/Stratosphere/Resources/TransferUser.hs
+++ b/library-gen/Stratosphere/Resources/TransferUser.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::Transfer::User"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("HomeDirectory",) . toJSON) _transferUserHomeDirectory
         , fmap (("HomeDirectoryMappings",) . toJSON) _transferUserHomeDirectoryMappings
         , fmap (("HomeDirectoryType",) . toJSON) _transferUserHomeDirectoryType
diff --git a/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs b/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFByteMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::ByteMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ByteMatchTuples",) . toJSON) _wAFByteMatchSetByteMatchTuples
         , (Just . ("Name",) . toJSON) _wAFByteMatchSetName
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFIPSet.hs b/library-gen/Stratosphere/Resources/WAFIPSet.hs
--- a/library-gen/Stratosphere/Resources/WAFIPSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFIPSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::IPSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("IPSetDescriptors",) . toJSON) _wAFIPSetIPSetDescriptors
         , (Just . ("Name",) . toJSON) _wAFIPSetName
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalByteMatchSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalByteMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalByteMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalByteMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::ByteMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("ByteMatchTuples",) . toJSON) _wAFRegionalByteMatchSetByteMatchTuples
         , (Just . ("Name",) . toJSON) _wAFRegionalByteMatchSetName
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalGeoMatchSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalGeoMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalGeoMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalGeoMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::GeoMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("GeoMatchConstraints",) . toJSON) _wAFRegionalGeoMatchSetGeoMatchConstraints
         , (Just . ("Name",) . toJSON) _wAFRegionalGeoMatchSetName
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalIPSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalIPSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalIPSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalIPSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::IPSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("IPSetDescriptors",) . toJSON) _wAFRegionalIPSetIPSetDescriptors
         , (Just . ("Name",) . toJSON) _wAFRegionalIPSetName
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalRateBasedRule.hs b/library-gen/Stratosphere/Resources/WAFRegionalRateBasedRule.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalRateBasedRule.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalRateBasedRule.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::RateBasedRule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("MatchPredicates",) . toJSON) _wAFRegionalRateBasedRuleMatchPredicates
         , (Just . ("MetricName",) . toJSON) _wAFRegionalRateBasedRuleMetricName
         , (Just . ("Name",) . toJSON) _wAFRegionalRateBasedRuleName
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalRegexPatternSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalRegexPatternSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalRegexPatternSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalRegexPatternSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::RegexPatternSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFRegionalRegexPatternSetName
         , (Just . ("RegexPatternStrings",) . toJSON) _wAFRegionalRegexPatternSetRegexPatternStrings
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalRule.hs b/library-gen/Stratosphere/Resources/WAFRegionalRule.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalRule.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalRule.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::Rule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MetricName",) . toJSON) _wAFRegionalRuleMetricName
         , (Just . ("Name",) . toJSON) _wAFRegionalRuleName
         , fmap (("Predicates",) . toJSON) _wAFRegionalRulePredicates
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalSizeConstraintSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalSizeConstraintSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalSizeConstraintSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalSizeConstraintSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::SizeConstraintSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFRegionalSizeConstraintSetName
         , fmap (("SizeConstraints",) . toJSON) _wAFRegionalSizeConstraintSetSizeConstraints
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalSqlInjectionMatchSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalSqlInjectionMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalSqlInjectionMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalSqlInjectionMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::SqlInjectionMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFRegionalSqlInjectionMatchSetName
         , fmap (("SqlInjectionMatchTuples",) . toJSON) _wAFRegionalSqlInjectionMatchSetSqlInjectionMatchTuples
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalWebACL.hs b/library-gen/Stratosphere/Resources/WAFRegionalWebACL.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalWebACL.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalWebACL.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::WebACL"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DefaultAction",) . toJSON) _wAFRegionalWebACLDefaultAction
         , (Just . ("MetricName",) . toJSON) _wAFRegionalWebACLMetricName
         , (Just . ("Name",) . toJSON) _wAFRegionalWebACLName
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalWebACLAssociation.hs b/library-gen/Stratosphere/Resources/WAFRegionalWebACLAssociation.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalWebACLAssociation.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalWebACLAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::WebACLAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceArn",) . toJSON) _wAFRegionalWebACLAssociationResourceArn
         , (Just . ("WebACLId",) . toJSON) _wAFRegionalWebACLAssociationWebACLId
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRegionalXssMatchSet.hs b/library-gen/Stratosphere/Resources/WAFRegionalXssMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFRegionalXssMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFRegionalXssMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFRegional::XssMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFRegionalXssMatchSetName
         , fmap (("XssMatchTuples",) . toJSON) _wAFRegionalXssMatchSetXssMatchTuples
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFRule.hs b/library-gen/Stratosphere/Resources/WAFRule.hs
--- a/library-gen/Stratosphere/Resources/WAFRule.hs
+++ b/library-gen/Stratosphere/Resources/WAFRule.hs
@@ -24,7 +24,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::Rule"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("MetricName",) . toJSON) _wAFRuleMetricName
         , (Just . ("Name",) . toJSON) _wAFRuleName
         , fmap (("Predicates",) . toJSON) _wAFRulePredicates
diff --git a/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs b/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
--- a/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFSizeConstraintSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::SizeConstraintSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFSizeConstraintSetName
         , (Just . ("SizeConstraints",) . toJSON) _wAFSizeConstraintSetSizeConstraints
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs b/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFSqlInjectionMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::SqlInjectionMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFSqlInjectionMatchSetName
         , fmap (("SqlInjectionMatchTuples",) . toJSON) _wAFSqlInjectionMatchSetSqlInjectionMatchTuples
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFWebACL.hs b/library-gen/Stratosphere/Resources/WAFWebACL.hs
--- a/library-gen/Stratosphere/Resources/WAFWebACL.hs
+++ b/library-gen/Stratosphere/Resources/WAFWebACL.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::WebACL"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DefaultAction",) . toJSON) _wAFWebACLDefaultAction
         , (Just . ("MetricName",) . toJSON) _wAFWebACLMetricName
         , (Just . ("Name",) . toJSON) _wAFWebACLName
diff --git a/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs b/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
--- a/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFXssMatchSet.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAF::XssMatchSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Name",) . toJSON) _wAFXssMatchSetName
         , (Just . ("XssMatchTuples",) . toJSON) _wAFXssMatchSetXssMatchTuples
         ]
diff --git a/library-gen/Stratosphere/Resources/WAFv2IPSet.hs b/library-gen/Stratosphere/Resources/WAFv2IPSet.hs
--- a/library-gen/Stratosphere/Resources/WAFv2IPSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFv2IPSet.hs
@@ -27,7 +27,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFv2::IPSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Addresses",) . toJSON) _wAFv2IPSetAddresses
         , fmap (("Description",) . toJSON) _wAFv2IPSetDescription
         , (Just . ("IPAddressVersion",) . toJSON) _wAFv2IPSetIPAddressVersion
diff --git a/library-gen/Stratosphere/Resources/WAFv2RegexPatternSet.hs b/library-gen/Stratosphere/Resources/WAFv2RegexPatternSet.hs
--- a/library-gen/Stratosphere/Resources/WAFv2RegexPatternSet.hs
+++ b/library-gen/Stratosphere/Resources/WAFv2RegexPatternSet.hs
@@ -26,7 +26,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFv2::RegexPatternSet"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ fmap (("Description",) . toJSON) _wAFv2RegexPatternSetDescription
         , fmap (("Name",) . toJSON) _wAFv2RegexPatternSetName
         , (Just . ("RegularExpressionList",) . toJSON) _wAFv2RegexPatternSetRegularExpressionList
diff --git a/library-gen/Stratosphere/Resources/WAFv2RuleGroup.hs b/library-gen/Stratosphere/Resources/WAFv2RuleGroup.hs
--- a/library-gen/Stratosphere/Resources/WAFv2RuleGroup.hs
+++ b/library-gen/Stratosphere/Resources/WAFv2RuleGroup.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFv2::RuleGroup"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("Capacity",) . toJSON) _wAFv2RuleGroupCapacity
         , fmap (("Description",) . toJSON) _wAFv2RuleGroupDescription
         , fmap (("Name",) . toJSON) _wAFv2RuleGroupName
diff --git a/library-gen/Stratosphere/Resources/WAFv2WebACL.hs b/library-gen/Stratosphere/Resources/WAFv2WebACL.hs
--- a/library-gen/Stratosphere/Resources/WAFv2WebACL.hs
+++ b/library-gen/Stratosphere/Resources/WAFv2WebACL.hs
@@ -31,7 +31,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFv2::WebACL"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("DefaultAction",) . toJSON) _wAFv2WebACLDefaultAction
         , fmap (("Description",) . toJSON) _wAFv2WebACLDescription
         , fmap (("Name",) . toJSON) _wAFv2WebACLName
diff --git a/library-gen/Stratosphere/Resources/WAFv2WebACLAssociation.hs b/library-gen/Stratosphere/Resources/WAFv2WebACLAssociation.hs
--- a/library-gen/Stratosphere/Resources/WAFv2WebACLAssociation.hs
+++ b/library-gen/Stratosphere/Resources/WAFv2WebACLAssociation.hs
@@ -23,7 +23,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WAFv2::WebACLAssociation"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("ResourceArn",) . toJSON) _wAFv2WebACLAssociationResourceArn
         , (Just . ("WebACLArn",) . toJSON) _wAFv2WebACLAssociationWebACLArn
         ]
diff --git a/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs b/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
--- a/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
+++ b/library-gen/Stratosphere/Resources/WorkSpacesWorkspace.hs
@@ -30,7 +30,7 @@
     ResourceProperties
     { resourcePropertiesType = "AWS::WorkSpaces::Workspace"
     , resourcePropertiesProperties =
-        hashMapFromList $ catMaybes
+        keyMapFromList $ catMaybes
         [ (Just . ("BundleId",) . toJSON) _workSpacesWorkspaceBundleId
         , (Just . ("DirectoryId",) . toJSON) _workSpacesWorkspaceDirectoryId
         , fmap (("RootVolumeEncryptionEnabled",) . toJSON) _workSpacesWorkspaceRootVolumeEncryptionEnabled
diff --git a/library/Stratosphere/Helpers.hs b/library/Stratosphere/Helpers.hs
--- a/library/Stratosphere/Helpers.hs
+++ b/library/Stratosphere/Helpers.hs
@@ -10,6 +10,7 @@
 import Control.Lens (set)
 import Control.Lens.TH
 import Data.Aeson
+import qualified Data.Aeson.Key as Key
 import Data.Char (isUpper, toLower)
 import Data.List (stripPrefix)
 import Data.Maybe (maybeToList)
@@ -17,7 +18,7 @@
 import Language.Haskell.TH
 
 -- | Might create an aeson pair from a Maybe value.
-maybeField :: ToJSON a => T.Text -> Maybe a -> Maybe (T.Text, Value)
+maybeField :: ToJSON a => Key -> Maybe a -> Maybe (Key, Value)
 maybeField field = fmap ((field .=) . toJSON)
 
 -- | Similar to `camelCaseNamer`, except we specify the prefix exactly. We use
@@ -54,4 +55,4 @@
 
 namedItemToJSON :: (NamedItem a) => [a] -> Value
 namedItemToJSON xs =
-    object $ fmap (\x -> itemName x .= nameToJSON x) xs
+    object $ fmap (\x -> (Key.fromText (itemName x)) .= nameToJSON x) xs
diff --git a/library/Stratosphere/ResourceImports.hs b/library/Stratosphere/ResourceImports.hs
--- a/library/Stratosphere/ResourceImports.hs
+++ b/library/Stratosphere/ResourceImports.hs
@@ -1,27 +1,24 @@
 module Stratosphere.ResourceImports
   ( module X
-  , hashMapFromList
-  , hashMapEmpty
+  , keyMapFromList
+  , keyMapEmpty
   ) where
 
 import Control.Lens as X (Lens', lens)
 import Data.Aeson as X
+import Data.Aeson.KeyMap as X
 import Data.Aeson.TH as X
+import Data.Map as X (Map)
 import Data.Maybe as X (catMaybes)
-import Data.Map.Strict as X
 import Data.Monoid as X (mempty)
 import Data.Text as X (Text)
 import Stratosphere.ResourceProperties as X
 import Stratosphere.Values as X
 
-import Data.Hashable (Hashable)
-import Data.HashMap.Strict (HashMap)
-import qualified Data.HashMap.Strict as HM
-
--- Re-export hashmap functions so we don't need a qualified import
+-- Re-export key map functions so we don't need a qualified import
 
-hashMapFromList :: (Eq k, Hashable k) => [(k, v)] -> HashMap k v
-hashMapFromList = HM.fromList
+keyMapFromList :: [(Key, v)] -> KeyMap v
+keyMapFromList = X.fromList
 
-hashMapEmpty :: HashMap k v
-hashMapEmpty = HM.empty
+keyMapEmpty :: KeyMap v
+keyMapEmpty = X.empty
diff --git a/library/Stratosphere/Values.hs b/library/Stratosphere/Values.hs
--- a/library/Stratosphere/Values.hs
+++ b/library/Stratosphere/Values.hs
@@ -12,7 +12,7 @@
   ) where
 
 import Data.Aeson
-import Data.HashMap.Strict (HashMap)
+import Data.Aeson.KeyMap
 import Data.Maybe (fromMaybe)
 import Data.String (IsString(..))
 import Data.Text (Text)
@@ -36,7 +36,7 @@
   Select :: Integer -> ValList a -> Val a
   FindInMap :: Val Text -> Val Text -> Val Text -> Val a -- ^ Map name, top level key, and second level key
   ImportValue :: Val Text -> Val a -- ^ The account-and-region-unique exported name of the value to import
-  Sub :: Text -> Maybe (HashMap Text (Val Text)) -> Val Text -- ^ Substitution string and optional map of values
+  Sub :: Text -> Maybe (KeyMap (Val Text)) -> Val Text -- ^ Substitution string and optional map of values
 
 deriving instance (Show a) => Show (Val a)
 
@@ -92,8 +92,8 @@
 importValueToJSON :: Val Text -> Value
 importValueToJSON ref = object [("Fn::ImportValue", toJSON ref)]
 
-mkFunc :: Text -> [Value] -> Value
-mkFunc name args = object [(name, Array $ fromList args)]
+mkFunc :: Key -> [Value] -> Value
+mkFunc key args = object [(key, Array $ GHC.Exts.fromList args)]
 
 -- | 'ValList' is like 'Val', except it is used in place of lists of Vals in
 -- templates. For example, if you have a parameter called @SubnetIds@ of type
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -1,20 +1,18 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: 32e0669e795e3193a411bc5344dfc9fc680bfed5e77269ef76fb4d1d42c39513
 
 name:           stratosphere
-version:        0.59.1
+version:        0.60.0
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
 stability:      experimental
-homepage:       https://github.com/frontrowed/stratosphere#readme
-bug-reports:    https://github.com/frontrowed/stratosphere/issues
-maintainer:     David Reaver
+homepage:       https://github.com/mbj/stratosphere#readme
+bug-reports:    https://github.com/mbj/stratosphere/issues
+maintainer:     Markus Schirp
 license:        MIT
 license-file:   LICENSE.md
 build-type:     Simple
@@ -24,7 +22,7 @@
 
 source-repository head
   type: git
-  location: https://github.com/frontrowed/stratosphere
+  location: https://github.com/mbj/stratosphere
 
 flag library-only
   description: Don't compile examples
@@ -2105,7 +2103,7 @@
       library-gen
   ghc-options: -Wall -O0
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base >=4.8 && <5
     , bytestring
@@ -2125,7 +2123,7 @@
       examples
   ghc-options: -Wall
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base >=4.8 && <5
     , bytestring
@@ -2148,7 +2146,7 @@
       examples
   ghc-options: -Wall
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base >=4.8 && <5
     , bytestring
@@ -2171,7 +2169,7 @@
       examples
   ghc-options: -Wall
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base >=4.8 && <5
     , bytestring
@@ -2194,7 +2192,7 @@
       examples
   ghc-options: -Wall
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base >=4.8 && <5
     , bytestring
@@ -2218,7 +2216,7 @@
   hs-source-dirs:
       tests
   build-depends:
-      aeson >=0.11
+      aeson >=2
     , aeson-pretty >=0.8
     , base
     , bytestring
