miniwdl check
* The nonempty array quantifier `Array[T]+` is no longer enforced statically; supplying an `Array[T]` where `Array[T]+` is expected produces a linter warning, but not a validation error.
* The `--no-quant-check` command-line option remains available, affecting static enforcement of the optional quantifier `T?` and implicit coercion of `T` to `Array[T]`.
* Outputs from scatters on `zip(...)` or `range(length(...))` are inferred nonempty when possible (for linting purposes)
* Initial support for WDL 1.0 structs, including the old-style `object` literals (no general Object support)
* Several struct-related linter modules
* QuantityCoercion linter is split into OptionalCoercion and NonemptyCoercion
* NameCollision linter checks scatter variables
* SelectArray linter for questionable invocations of `select_all` and `select_first`
* Invalidates use of language keywords in names/identifiers (74)
* Suppress UnusedDeclaration on dxWDL task stubs for 'native' applets (109)
API changes
* struct-related additions: `WDL.Tree.StructType`, `WDL.Type.StructInstance`, `WDL.Expr.Struct`
* `WDL.Document.imports` changes to a NamedTuple as it gets more fields (namely struct aliases)
* `{StructType,StructInstance}.type_id` changes from an int to a string summarizing the member names & types (better to recognize equivalent struct types in "diamond import" scenarios)
* Add `import_max_depth` guardrail to `WDL.load` (18)