diff --git a/Data/HighJson/Swagger.hs b/Data/HighJson/Swagger.hs
--- a/Data/HighJson/Swagger.hs
+++ b/Data/HighJson/Swagger.hs
@@ -18,7 +18,6 @@
 import Data.HashMap.Strict.InsOrd (InsOrdHashMap)
 import Data.HighJson
 import Data.Kind
-import Data.Monoid
 import Data.Proxy
 import Data.Swagger
 import Data.Swagger.Declare
@@ -67,7 +66,7 @@
           do (props, reqs) <- computeRecProperties r
              pure $ NamedSchema (Just $ hs_name spec) $
                  mempty
-                 & type_ .~ SwaggerObject
+                 & type_ ?~ SwaggerObject
                  & description .~ hs_description spec
                  & properties .~ props
                  & required .~ reqs
@@ -78,7 +77,7 @@
           do (props, reqs) <- computeSumProperties r
              pure $ NamedSchema (Just $ hs_name spec) $
                  mempty
-                 & type_ .~ SwaggerObject
+                 & type_ ?~ SwaggerObject
                  & description .~ hs_description spec
                  & properties .~ props
                  & required .~ reqs
@@ -88,11 +87,11 @@
       BodySpecEnum r ->
           let ps =
                   mempty
-                  & type_ .~ SwaggerString
+                  & type_ ?~ SwaggerString
                   & enum_ .~ Just (map (toJSON . eo_jsonKey) (es_options r))
           in pure $ NamedSchema (Just $ hs_name spec) $
              mempty
-             & type_ .~ SwaggerString
+             & type_ ?~ SwaggerString
              & description .~ hs_description spec
              & example .~ fmap (jsonSerializer spec) exVal
              & paramSchema .~ ps
@@ -141,6 +140,6 @@
                            IOM.singleton (rf_jsonKey key) fieldSchema
                        reqs' =
                            if not (rf_optional key)
-                           then (rf_jsonKey key : reqs)
+                           then rf_jsonKey key : reqs
                            else reqs
                    go rest (fld <> props, reqs')
diff --git a/highjson-swagger.cabal b/highjson-swagger.cabal
--- a/highjson-swagger.cabal
+++ b/highjson-swagger.cabal
@@ -1,5 +1,5 @@
 name:                highjson-swagger
-version:             0.4.0.0
+version:             0.5.0.0
 synopsis:            Derive swagger instances from highjson specs
 description:         Derive swagger instances from highjson specs
 homepage:            https://github.com/agrafix/highjson
@@ -8,7 +8,7 @@
 license-file:        LICENSE
 author:              Alexander Thiemann <mail@athiemann.net>
 maintainer:          Alexander Thiemann <mail@athiemann.net>
-copyright:           (c) 2017 Alexander Thiemann
+copyright:           (c) 2021 Alexander Thiemann
 category:            Text, Web, JSON
 build-type:          Simple
 stability:           experimental
