-- schema.json --
{
  "type": "object",
  "title": "Main schema",

  "properties": {
    "intString": {
      "description": "an integer or string.",
      "type": [ "string", "integer", "boolean", "array", "null" ]
    },
    "object": {
        "type": "object",
        "default": {
            "foo": "bar",
            "baz": 1.3
        }
    },
    "numOrList": {
      "oneOf": [
        { "type": "number" },
        {
          "type": "array",
          "items": { "type": "number" }
        }
      ],
      "default": [ 1, 2, 3 ]
    }
  },
  "additionalProperties": false
}

-- out/decode/extract --
// Main schema

close({
	// an integer or string.
	intString?: null | bool | int | string | [...]
	object?: {
		...
	}
	numOrList?: matchN(1, [number, [...number]])
})
