diff --git a/json-spec.cabal b/json-spec.cabal
--- a/json-spec.cabal
+++ b/json-spec.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                json-spec
-version:             0.2.0.0
+version:             0.2.1.0
 synopsis:            Type-level JSON specification
 maintainer:          rick@owensmurray.com
 description:         = Motivation
@@ -116,11 +116,9 @@
 
 common dependencies
   build-depends:
-    , aeson      >= 2.1.2.1  && < 2.2
+    , aeson      >= 2.2.0.0  && < 2.3
     , base       >= 4.17.1.0 && < 4.18
-    , bytestring >= 0.11.4.0 && < 0.12
-    , lens       >= 5.2.2    && < 5.3
-    , openapi3   >= 3.2.3    && < 3.3
+    , containers >= 0.6.7    && < 0.7
     , scientific >= 0.3.7.0  && < 0.4
     , text       >= 2.0.2    && < 2.1
     , time       >= 1.12.2   && < 1.13
@@ -154,4 +152,5 @@
   default-language: Haskell2010
   build-depends:
     , json-spec
-    , hspec >= 2.11.1 && < 2.12
+    , bytestring >= 0.11.4.0 && < 0.12
+    , hspec      >= 2.11.1   && < 2.12
diff --git a/src/Data/JsonSpec/Encode.hs b/src/Data/JsonSpec/Encode.hs
--- a/src/Data/JsonSpec/Encode.hs
+++ b/src/Data/JsonSpec/Encode.hs
@@ -15,9 +15,10 @@
 
 
 import Data.Aeson (ToJSON(toJSON), Value)
-import Data.JsonSpec.Spec (Field(Field), Rec(unRec), JSONStructure,
-  JStruct, Specification, Tag, sym)
+import Data.JsonSpec.Spec (Field(Field), Rec(unRec),
+  Specification(JsonArray), JSONStructure, JStruct, Tag, sym)
 import Data.Scientific (Scientific)
+import Data.Set (Set)
 import Data.Text (Text)
 import Data.Time (UTCTime)
 import GHC.TypeLits (KnownSymbol)
@@ -25,6 +26,7 @@
   (.), Int, Maybe, maybe)
 import qualified Data.Aeson as A
 import qualified Data.Aeson.KeyMap as KM
+import qualified Data.Set as Set
 
 
 {- |
@@ -37,6 +39,9 @@
 
   {- | Encode the value into the structure appropriate for the specification. -}
   toJSONStructure :: a -> JSONStructure (EncodingSpec a)
+instance (HasJsonEncodingSpec a) => HasJsonEncodingSpec (Set a) where
+  type EncodingSpec (Set a) = JsonArray (EncodingSpec a)
+  toJSONStructure = fmap toJSONStructure . Set.toList
 
 
 {- |
