diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Dev
 
+# 1.1.1
+
+- Ship our conformance suite as part of the sdist
+
 # 1.1.0
 
 - Widen bounds on ``parser-combinators``.
diff --git a/conformance/parser/fail/additional-property-schema-without-allowed.medea b/conformance/parser/fail/additional-property-schema-without-allowed.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/additional-property-schema-without-allowed.medea
@@ -0,0 +1,3 @@
+$schema foo
+    $properties
+        $additional-property-schema foo
diff --git a/conformance/parser/fail/array-elems-w-tuple.medea b/conformance/parser/fail/array-elems-w-tuple.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/array-elems-w-tuple.medea
@@ -0,0 +1,9 @@
+$schema foo
+    $type
+        $array
+    $element-type
+        $string
+    $tuple
+        $string
+        $number
+
diff --git a/conformance/parser/fail/array-tuple-w-elems.medea b/conformance/parser/fail/array-tuple-w-elems.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/array-tuple-w-elems.medea
@@ -0,0 +1,7 @@
+$schema foo
+    $tuple
+        $string
+        $number
+    $element-type
+        $string
+
diff --git a/conformance/parser/fail/array-tuple-w-length.medea b/conformance/parser/fail/array-tuple-w-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/array-tuple-w-length.medea
@@ -0,0 +1,8 @@
+$schema foo
+    $type
+        $array
+    $length
+        $maximum 42
+    $tuple
+        $string
+        $number
diff --git a/conformance/parser/fail/array-tuple-w-length2.medea b/conformance/parser/fail/array-tuple-w-length2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/array-tuple-w-length2.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $length
+        $minimum 1
+    $tuple
+        $string
+        $number
diff --git a/conformance/parser/fail/empty-file.medea b/conformance/parser/fail/empty-file.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/empty-file.medea
diff --git a/conformance/parser/fail/empty-length.medea b/conformance/parser/fail/empty-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/empty-length.medea
@@ -0,0 +1,2 @@
+$schema start
+    $length
diff --git a/conformance/parser/fail/extra-words-type-header.medea b/conformance/parser/fail/extra-words-type-header.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/extra-words-type-header.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type foo
+        $number
diff --git a/conformance/parser/fail/no-properties-sigil.medea b/conformance/parser/fail/no-properties-sigil.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/no-properties-sigil.medea
@@ -0,0 +1,2 @@
+$schema $start
+    properties
diff --git a/conformance/parser/fail/no-schema-sigil.medea b/conformance/parser/fail/no-schema-sigil.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/no-schema-sigil.medea
@@ -0,0 +1,3 @@
+schema $start
+    $type
+        $number
diff --git a/conformance/parser/fail/no-type-sigil.medea b/conformance/parser/fail/no-type-sigil.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/no-type-sigil.medea
@@ -0,0 +1,3 @@
+$schema $start
+    type
+        $number
diff --git a/conformance/parser/fail/not-utf8.medea b/conformance/parser/fail/not-utf8.medea
new file mode 100644
Binary files /dev/null and b/conformance/parser/fail/not-utf8.medea differ
diff --git a/conformance/parser/fail/reserved-identifier-schema-name.medea b/conformance/parser/fail/reserved-identifier-schema-name.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/reserved-identifier-schema-name.medea
@@ -0,0 +1,3 @@
+schema $foo
+    $type
+        $number
diff --git a/conformance/parser/fail/reserved-identifier-type-name.medea b/conformance/parser/fail/reserved-identifier-type-name.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/reserved-identifier-type-name.medea
@@ -0,0 +1,3 @@
+schema $start
+    $type
+        $foo
diff --git a/conformance/parser/fail/stringVals.medea b/conformance/parser/fail/stringVals.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/stringVals.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $string
+    $string-values
diff --git a/conformance/parser/fail/three-word-schema-header.medea b/conformance/parser/fail/three-word-schema-header.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/three-word-schema-header.medea
@@ -0,0 +1,3 @@
+$schema $start foo
+    $type
+        $number
diff --git a/conformance/parser/fail/wrong-indentation-schema-header.medea b/conformance/parser/fail/wrong-indentation-schema-header.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/wrong-indentation-schema-header.medea
@@ -0,0 +1,3 @@
+ $schema $start
+    $type
+        $number
diff --git a/conformance/parser/fail/wrong-indentation-type-header.medea b/conformance/parser/fail/wrong-indentation-type-header.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/wrong-indentation-type-header.medea
@@ -0,0 +1,3 @@
+$schema $start
+   $type
+        $number
diff --git a/conformance/parser/fail/wrong-indentation-type-specifier.medea b/conformance/parser/fail/wrong-indentation-type-specifier.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/fail/wrong-indentation-type-specifier.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+       $number
diff --git a/conformance/parser/pass/additional-properties-allowed-1.medea b/conformance/parser/pass/additional-properties-allowed-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-1.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $properties
+        $additional-properties-allowed
diff --git a/conformance/parser/pass/additional-properties-allowed-2.medea b/conformance/parser/pass/additional-properties-allowed-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-2.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-name "bar"
+        $property-name "bazz"
+        $additional-properties-allowed
diff --git a/conformance/parser/pass/additional-properties-allowed-3.medea b/conformance/parser/pass/additional-properties-allowed-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-3.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-schema $null
+        $optional-property
+        $additional-properties-allowed
diff --git a/conformance/parser/pass/additional-properties-allowed-4.medea b/conformance/parser/pass/additional-properties-allowed-4.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-4.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-schema $null
+        $additional-properties-allowed
diff --git a/conformance/parser/pass/additional-properties-allowed-5.medea b/conformance/parser/pass/additional-properties-allowed-5.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-5.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $optional-property
+        $additional-properties-allowed
diff --git a/conformance/parser/pass/additional-properties-allowed-6.medea b/conformance/parser/pass/additional-properties-allowed-6.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/additional-properties-allowed-6.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $optional-property
+        $additional-properties-allowed
+        $additional-property-schema $null
diff --git a/conformance/parser/pass/all-specifiers-1.medea b/conformance/parser/pass/all-specifiers-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/all-specifiers-1.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $null
+        $boolean
+    $properties
+        $property-name "foo"
+        $property-name "bar"
+    $max-length 42
diff --git a/conformance/parser/pass/all-specifiers-2.medea b/conformance/parser/pass/all-specifiers-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/all-specifiers-2.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $max-length 42
+    $type
+        $null
+        $boolean
+    $properties
+        $property-name "foo"
+        $property-name "bar"
diff --git a/conformance/parser/pass/all-specifiers-3.medea b/conformance/parser/pass/all-specifiers-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/all-specifiers-3.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-name "bar"
+    $max-length 42
+    $type
+        $null
+        $boolean
diff --git a/conformance/parser/pass/array-elems.medea b/conformance/parser/pass/array-elems.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/array-elems.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $type
+        $array
+    $element-type
+        $string
diff --git a/conformance/parser/pass/array-tuple1.medea b/conformance/parser/pass/array-tuple1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/array-tuple1.medea
@@ -0,0 +1,4 @@
+$schema foo
+    $tuple
+        $string
+        $number
diff --git a/conformance/parser/pass/array-tuple2.medea b/conformance/parser/pass/array-tuple2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/array-tuple2.medea
@@ -0,0 +1,10 @@
+$schema foo
+    $type
+        $array
+    $tuple
+        $string
+        bar
+
+$schema bar
+    $type
+        $number
diff --git a/conformance/parser/pass/maximum-and-minimum-length.medea b/conformance/parser/pass/maximum-and-minimum-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/maximum-and-minimum-length.medea
@@ -0,0 +1,3 @@
+$schema foo
+    $max-length 42
+    $min-length 1
diff --git a/conformance/parser/pass/maximum-length.medea b/conformance/parser/pass/maximum-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/maximum-length.medea
@@ -0,0 +1,2 @@
+$schema foo
+    $max-length 42
diff --git a/conformance/parser/pass/minimum-and-maximum-length.medea b/conformance/parser/pass/minimum-and-maximum-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/minimum-and-maximum-length.medea
@@ -0,0 +1,3 @@
+$schema foo
+    $min-length 1
+    $max-length 42
diff --git a/conformance/parser/pass/minimum-length.medea b/conformance/parser/pass/minimum-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/minimum-length.medea
@@ -0,0 +1,2 @@
+$schema foo
+    $min-length 2
diff --git a/conformance/parser/pass/multiple-properties-1.medea b/conformance/parser/pass/multiple-properties-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/multiple-properties-1.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-name "bar"
+        $property-name "bazz"
diff --git a/conformance/parser/pass/multiple-properties-2.medea b/conformance/parser/pass/multiple-properties-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/multiple-properties-2.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $properties
+        $property-name "foo"
+        $property-schema $null
+        $property-name "bar"
+        $optional-property
diff --git a/conformance/parser/pass/multiple-schemata-with-types.medea b/conformance/parser/pass/multiple-schemata-with-types.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/multiple-schemata-with-types.medea
@@ -0,0 +1,12 @@
+$schema foo
+    $type
+        $number
+        $boolean
+        $object
+
+$schema bar
+
+$schema bazz
+    $type
+        $array
+        $object
diff --git a/conformance/parser/pass/multiple-schemata.medea b/conformance/parser/pass/multiple-schemata.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/multiple-schemata.medea
@@ -0,0 +1,5 @@
+$schema foo
+
+$schema bar
+
+$schema bazz
diff --git a/conformance/parser/pass/single-schema.medea b/conformance/parser/pass/single-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/single-schema.medea
@@ -0,0 +1,1 @@
+$schema foo
diff --git a/conformance/parser/pass/single-schemata-with-types.medea b/conformance/parser/pass/single-schemata-with-types.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/single-schemata-with-types.medea
@@ -0,0 +1,5 @@
+$schema foo
+    $type
+        $number
+        $boolean
+        $object
diff --git a/conformance/parser/pass/stringVals.medea b/conformance/parser/pass/stringVals.medea
new file mode 100644
--- /dev/null
+++ b/conformance/parser/pass/stringVals.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $string
+    $string-values
+        "bar"
+        "baz"
diff --git a/conformance/schema-builder/fail/duplicate-prop.medea b/conformance/schema-builder/fail/duplicate-prop.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/duplicate-prop.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-name "foo"
diff --git a/conformance/schema-builder/fail/duplicate-schemata.medea b/conformance/schema-builder/fail/duplicate-schemata.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/duplicate-schemata.medea
@@ -0,0 +1,11 @@
+$schema $start
+    $type
+        $number
+
+$schema foo
+    $type
+        $boolean
+
+$schema foo
+    $type
+        $string
diff --git a/conformance/schema-builder/fail/indirect-self-typing.medea b/conformance/schema-builder/fail/indirect-self-typing.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/indirect-self-typing.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $start
diff --git a/conformance/schema-builder/fail/isolated-schemata.medea b/conformance/schema-builder/fail/isolated-schemata.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/isolated-schemata.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+
+$schema bar
diff --git a/conformance/schema-builder/fail/list-spec-without-array-1.medea b/conformance/schema-builder/fail/list-spec-without-array-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/list-spec-without-array-1.medea
@@ -0,0 +1,9 @@
+$schema $start
+    $type
+        $object
+        $string
+        foo
+    $element-type
+        $array
+
+$schema foo
diff --git a/conformance/schema-builder/fail/list-spec-without-array-2.medea b/conformance/schema-builder/fail/list-spec-without-array-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/list-spec-without-array-2.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $object
+        $string
+        foo
+    $min-length 3
+
+$schema foo
diff --git a/conformance/schema-builder/fail/list-spec-without-array-3.medea b/conformance/schema-builder/fail/list-spec-without-array-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/list-spec-without-array-3.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $object
+        $string
+        foo
+    $max-length 3
+
+$schema foo
diff --git a/conformance/schema-builder/fail/list-spec-without-array-4.medea b/conformance/schema-builder/fail/list-spec-without-array-4.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/list-spec-without-array-4.medea
@@ -0,0 +1,10 @@
+$schema $start
+    $type
+        $object
+        $string
+        foo
+    $element-type
+        $array
+    $max-length 3
+
+$schema foo
diff --git a/conformance/schema-builder/fail/missing-additional-prop-schema.medea b/conformance/schema-builder/fail/missing-additional-prop-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/missing-additional-prop-schema.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $additional-properties-allowed
+        $additional-property-schema foo
diff --git a/conformance/schema-builder/fail/missing-list-schema.medea b/conformance/schema-builder/fail/missing-list-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/missing-list-schema.medea
@@ -0,0 +1,10 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $array
+    $tuple
+        $number
+        bar
diff --git a/conformance/schema-builder/fail/missing-prop-schema.medea b/conformance/schema-builder/fail/missing-prop-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/missing-prop-schema.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema bar
diff --git a/conformance/schema-builder/fail/missing-schema.medea b/conformance/schema-builder/fail/missing-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/missing-schema.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        foo
diff --git a/conformance/schema-builder/fail/missing-tuple-schema.medea b/conformance/schema-builder/fail/missing-tuple-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/missing-tuple-schema.medea
@@ -0,0 +1,9 @@
+$schema $start
+    $type
+        $array
+    $tuple
+        $number
+        foo
+        bar
+
+$schema foo
diff --git a/conformance/schema-builder/fail/no-start-schema.medea b/conformance/schema-builder/fail/no-start-schema.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/no-start-schema.medea
@@ -0,0 +1,3 @@
+$schema foo
+    $type
+        $number
diff --git a/conformance/schema-builder/fail/property-spec-without-object-1.medea b/conformance/schema-builder/fail/property-spec-without-object-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/property-spec-without-object-1.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $null
+        $number
+    $properties
+        $property-name "foo"
diff --git a/conformance/schema-builder/fail/property-spec-without-object-2.medea b/conformance/schema-builder/fail/property-spec-without-object-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/property-spec-without-object-2.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        $null
+        $number
+    $properties
+        $property-name "foo"
+        $additional-properties-allowed
diff --git a/conformance/schema-builder/fail/property-spec-without-object-3.medea b/conformance/schema-builder/fail/property-spec-without-object-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/property-spec-without-object-3.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $null
+        $number
+    $properties
+        $additional-properties-allowed
diff --git a/conformance/schema-builder/fail/property-spec-without-object-4.medea b/conformance/schema-builder/fail/property-spec-without-object-4.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/property-spec-without-object-4.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $type
+        $null
+        $number
+    $properties
diff --git a/conformance/schema-builder/fail/reserved-redefined.medea b/conformance/schema-builder/fail/reserved-redefined.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/reserved-redefined.medea
@@ -0,0 +1,3 @@
+$schema $start
+
+$schema $boolean
diff --git a/conformance/schema-builder/fail/self-typing.medea b/conformance/schema-builder/fail/self-typing.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/self-typing.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $start
diff --git a/conformance/schema-builder/fail/stringVals-without-string.medea b/conformance/schema-builder/fail/stringVals-without-string.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/stringVals-without-string.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        $array
+        $object
+    $string-values
+        "foo"
+        "bar"
diff --git a/conformance/schema-builder/fail/tuple-spec-without-array.medea b/conformance/schema-builder/fail/tuple-spec-without-array.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/tuple-spec-without-array.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $object
+        $number
+    $tuple
+        $array
diff --git a/conformance/schema-builder/fail/type-length.medea b/conformance/schema-builder/fail/type-length.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/fail/type-length.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $type
+        $array
+    $min-length 3
+    $max-length 2
diff --git a/conformance/schema-builder/pass/referenced-in-additional-property-only.medea b/conformance/schema-builder/pass/referenced-in-additional-property-only.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/pass/referenced-in-additional-property-only.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $additional-properties-allowed
+        $additional-property-schema foo
+
+$schema foo
diff --git a/conformance/schema-builder/pass/referenced-in-list-only.medea b/conformance/schema-builder/pass/referenced-in-list-only.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/pass/referenced-in-list-only.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        $array
+    $element-type
+        foo
+
+$schema foo
diff --git a/conformance/schema-builder/pass/referenced-in-property-only.medea b/conformance/schema-builder/pass/referenced-in-property-only.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/pass/referenced-in-property-only.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema foo
+
+$schema foo
diff --git a/conformance/schema-builder/pass/referenced-in-tuple-only.medea b/conformance/schema-builder/pass/referenced-in-tuple-only.medea
new file mode 100644
--- /dev/null
+++ b/conformance/schema-builder/pass/referenced-in-tuple-only.medea
@@ -0,0 +1,10 @@
+$schema $start
+    $type
+        $array
+    $tuple
+        foo
+        bar
+
+$schema foo
+
+$schema bar
diff --git a/conformance/validation/1-property-additional-1.medea b/conformance/validation/1-property-additional-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-additional-1.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $string
+        $additional-properties-allowed
diff --git a/conformance/validation/1-property-additional-2.medea b/conformance/validation/1-property-additional-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-additional-2.medea
@@ -0,0 +1,11 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $number
+        $additional-properties-allowed
diff --git a/conformance/validation/1-property-additional-3.medea b/conformance/validation/1-property-additional-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-additional-3.medea
@@ -0,0 +1,12 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $object
+        $optional-property
+        $additional-properties-allowed
diff --git a/conformance/validation/1-property-no-additional-1.medea b/conformance/validation/1-property-no-additional-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-no-additional-1.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $boolean
diff --git a/conformance/validation/1-property-no-additional-2.medea b/conformance/validation/1-property-no-additional-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-no-additional-2.medea
@@ -0,0 +1,10 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $null
diff --git a/conformance/validation/1-property-no-additional-3.medea b/conformance/validation/1-property-no-additional-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/1-property-no-additional-3.medea
@@ -0,0 +1,7 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $array
+        $optional-property
diff --git a/conformance/validation/2-tuple.medea b/conformance/validation/2-tuple.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/2-tuple.medea
@@ -0,0 +1,20 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $array
+    $tuple
+        bar
+        bazz
+
+$schema bar
+    $type
+        $object
+        $null
+
+$schema bazz
+    $type
+        $string
+        $number
diff --git a/conformance/validation/3-property-additional-allowed-1.medea b/conformance/validation/3-property-additional-allowed-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/3-property-additional-allowed-1.medea
@@ -0,0 +1,10 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $boolean
+        $property-name "bar"
+        $property-name "bazz"
+        $property-schema $string
+        $additional-properties-allowed
diff --git a/conformance/validation/3-property-additional-allowed-2.medea b/conformance/validation/3-property-additional-allowed-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/3-property-additional-allowed-2.medea
@@ -0,0 +1,15 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema $number
+        $optional-property
+        $property-name "bar"
+        $property-name "bazz"
+        $property-schema $null
+        $additional-properties-allowed
diff --git a/conformance/validation/3-property-no-additional-1.medea b/conformance/validation/3-property-no-additional-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/3-property-no-additional-1.medea
@@ -0,0 +1,19 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema foo
+        $property-name "bar"
+        $property-name "bazz"
+        $property-schema bazz
+
+$schema foo
+    $type
+        $number
+        $array
+
+$schema bazz
+    $type
+        $null
+        $boolean
diff --git a/conformance/validation/3-property-no-additional-2.medea b/conformance/validation/3-property-no-additional-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/3-property-no-additional-2.medea
@@ -0,0 +1,24 @@
+$schema $start
+    $type
+        bar
+
+$schema bar
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema foo
+        $optional-property
+        $property-name "bar"
+        $property-name "bazz"
+        $property-schema bazz
+
+$schema foo
+    $type
+        $number
+        $array
+
+$schema bazz
+    $type
+        $null
+        $boolean
diff --git a/conformance/validation/3-tuple.medea b/conformance/validation/3-tuple.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/3-tuple.medea
@@ -0,0 +1,14 @@
+$schema $start
+    $type
+        $array
+    $tuple
+        foo
+        $boolean
+        any
+
+$schema foo
+    $type
+        $number
+        $array
+
+$schema any
diff --git a/conformance/validation/any.medea b/conformance/validation/any.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/any.medea
@@ -0,0 +1,1 @@
+$schema $start
diff --git a/conformance/validation/array.medea b/conformance/validation/array.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/array.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $array
diff --git a/conformance/validation/boolean.medea b/conformance/validation/boolean.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/boolean.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $boolean
diff --git a/conformance/validation/list-1.medea b/conformance/validation/list-1.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-1.medea
@@ -0,0 +1,11 @@
+$schema $start
+    $type
+        $array
+    $element-type
+        bar
+
+$schema bar
+    $type
+        $number
+        $boolean
+        $object
diff --git a/conformance/validation/list-2.medea b/conformance/validation/list-2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-2.medea
@@ -0,0 +1,15 @@
+$schema $start
+    $type
+        foo
+
+$schema foo
+    $type
+        $array
+    $element-type
+        bar
+
+$schema bar
+    $type
+        $number
+        $boolean
+        $object
diff --git a/conformance/validation/list-3.medea b/conformance/validation/list-3.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-3.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $array
+    $min-length 2
diff --git a/conformance/validation/list-4.medea b/conformance/validation/list-4.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-4.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $array
+    $max-length 5
diff --git a/conformance/validation/list-5.medea b/conformance/validation/list-5.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-5.medea
@@ -0,0 +1,5 @@
+$schema $start
+    $type
+        $array
+    $max-length 5
+    $min-length 3
diff --git a/conformance/validation/list-6.medea b/conformance/validation/list-6.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-6.medea
@@ -0,0 +1,13 @@
+$schema $start
+    $type
+        $array
+    $max-length 3
+    $min-length 2
+    $element-type
+        foo
+
+$schema foo
+    $type
+        $null
+        $boolean
+        $number
diff --git a/conformance/validation/list-7.medea b/conformance/validation/list-7.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/list-7.medea
@@ -0,0 +1,17 @@
+$schema $start
+    $type
+        bar
+
+$schema bar
+    $type
+        $array
+    $max-length 3
+    $min-length 2
+    $element-type
+        foo
+
+$schema foo
+    $type
+        $null
+        $boolean
+        $number
diff --git a/conformance/validation/map-number-bool.medea b/conformance/validation/map-number-bool.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/map-number-bool.medea
@@ -0,0 +1,11 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $additional-properties-allowed
+        $additional-property-schema foo
+
+$schema foo
+    $type
+        $number
+        $boolean
diff --git a/conformance/validation/map-with-1-specified.medea b/conformance/validation/map-with-1-specified.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/map-with-1-specified.medea
@@ -0,0 +1,18 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema foo
+        $additional-properties-allowed
+        $additional-property-schema bar
+
+$schema foo
+    $type
+        $array
+        $object
+
+$schema bar
+    $type
+        $boolean
+        $number
diff --git a/conformance/validation/map-with-2-specified.medea b/conformance/validation/map-with-2-specified.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/map-with-2-specified.medea
@@ -0,0 +1,20 @@
+$schema $start
+    $type
+        $object
+    $properties
+        $property-name "foo"
+        $property-schema foo
+        $property-name "bazz"
+        $optional-property
+        $additional-properties-allowed
+        $additional-property-schema bar
+
+$schema foo
+    $type
+        $array
+        $object
+
+$schema bar
+    $type
+        $boolean
+        $number
diff --git a/conformance/validation/null.medea b/conformance/validation/null.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/null.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $null
diff --git a/conformance/validation/nullable-array.medea b/conformance/validation/nullable-array.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/nullable-array.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $array
+        $null
diff --git a/conformance/validation/nullable-boolean.medea b/conformance/validation/nullable-boolean.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/nullable-boolean.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $boolean
+        $null
diff --git a/conformance/validation/nullable-number.medea b/conformance/validation/nullable-number.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/nullable-number.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $number
+        $null
diff --git a/conformance/validation/nullable-object.medea b/conformance/validation/nullable-object.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/nullable-object.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $object
+        $null
diff --git a/conformance/validation/nullable-string.medea b/conformance/validation/nullable-string.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/nullable-string.medea
@@ -0,0 +1,4 @@
+$schema $start
+    $type
+        $string
+        $null
diff --git a/conformance/validation/number.medea b/conformance/validation/number.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/number.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $number
diff --git a/conformance/validation/object.medea b/conformance/validation/object.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/object.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $object
diff --git a/conformance/validation/string.medea b/conformance/validation/string.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/string.medea
@@ -0,0 +1,3 @@
+$schema $start
+    $type
+        $string
diff --git a/conformance/validation/stringVals.medea b/conformance/validation/stringVals.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/stringVals.medea
@@ -0,0 +1,6 @@
+$schema $start
+    $type
+        $string
+    $string-values
+        "bar"
+        "baz"
diff --git a/conformance/validation/stringVals2.medea b/conformance/validation/stringVals2.medea
new file mode 100644
--- /dev/null
+++ b/conformance/validation/stringVals2.medea
@@ -0,0 +1,8 @@
+$schema $start
+    $type
+        $string
+    $string-values
+        "accountant"
+        "barber"
+        "bishop"
+        "baker"
diff --git a/medea.cabal b/medea.cabal
--- a/medea.cabal
+++ b/medea.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               medea
-version:            1.1.0
+version:            1.1.1
 synopsis:           A schema language for JSON.
 description:
   A reference implementation of a schema language, together with a conformance
@@ -23,6 +23,11 @@
   README.md
   SPEC.md
   TUTORIAL.md
+  conformance/parser/pass/*.medea
+  conformance/parser/fail/*.medea
+  conformance/schema-builder/pass/*.medea
+  conformance/schema-builder/fail/*.medea
+  conformance/validation/*.medea
 
 source-repository head
   type:     git
