diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
 # Revision history for schemas
 
+## 0.2.0.1 --  2019-10-02
+* Fixed subtyping relation for arrays
+
 ## 0.2.0 --  2019-09-29
 * Add OpenApi2 encoding
 * Change the `Semigroup` instance for typed schemas
diff --git a/schemas.cabal b/schemas.cabal
--- a/schemas.cabal
+++ b/schemas.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.0
 name:                schemas
-version:             0.2.0
+version:             0.2.0.1
 synopsis:            schema guided serialization
 description:
   Schemas is a Haskell library for serializing and deserializing data in JSON.
diff --git a/src/Schemas/Untyped.hs b/src/Schemas/Untyped.hs
--- a/src/Schemas/Untyped.hs
+++ b/src/Schemas/Untyped.hs
@@ -234,7 +234,7 @@
   go ctx (StringMap a) (StringMap b) = do
     f <- go ("Map" : ctx) a b
     pure $ over (_Object . traverse) f
-  go _tx a (Array b) | a == b = pure (A.Array . fromList . (: []))
+  go _tx (Array a) b | a == b = pure (A.Array . fromList . (: []))
   go ctx (Enum opts) (Enum opts') =
     case NE.nonEmpty $ NE.filter (`notElem` opts) opts' of
       Nothing -> pure id
diff --git a/test/SchemasSpec.hs b/test/SchemasSpec.hs
--- a/test/SchemasSpec.hs
+++ b/test/SchemasSpec.hs
@@ -49,8 +49,8 @@
       Record [makeField "a" prim True]
         `shouldBeSubtypeOf` Record [makeField "a" prim False]
     it "subtypes can relax the type of a field" $ do
-      Record [makeField "a" (Array prim) True]
-        `shouldBeSubtypeOf` Record [makeField "a" prim True]
+      Record [makeField "a" prim True]
+        `shouldBeSubtypeOf` Record [makeField "a" (Array prim) True]
     it "subtypes cannot remove Required fields" $ do
       Record [makeField "def" prim True] `shouldNotBeSubtypeOf` Record
         [makeField "def" prim True, makeField "a" prim True]
@@ -67,10 +67,10 @@
     it "subtypes cannot add constructors" $ do
       Union [constructor' "A" prim, constructor' "B" Empty]
         `shouldNotBeSubtypeOf` Union [constructor' "A" (prim)]
-    it "subtypes can expand an array" $ do
-      Array prim `shouldBeSubtypeOf` prim
-    it "subtypes cannot drop an array" $ do
-      prim `shouldNotBeSubtypeOf` Array prim
+    it "subtypes can drop an array" $ do
+      prim `shouldBeSubtypeOf` Array prim
+    it "subtypes cannot introduce an array" $ do
+      Array prim `shouldNotBeSubtypeOf` prim
   describe "examples" $ do
     describe "Schemas" $ do
       prop "finite(schema @Schema) is a supertype of (schema @Schema)" $ \(SmallNatural n) ->
