Paste [{"id":1,"label":"one"},{"id":2,"active":true}]. TypeDraft creates one RootItem declaration, marks label and active optional, then writes Root as RootItem[].
Optional means observed absence
The question mark records that the key was missing from one observed member; it does not prove the server contract permits omission.
Review the merged item as one contract
Confirm that id is always required and that label and active are genuinely independent. If the API uses distinct variants, replace the broad optional shape with an explicit discriminated union.
Review against the real contract
Compile the generated file, then compare every property with the authoritative API documentation, OpenAPI document or JSON Schema. Add fields absent from the sample, correct nullable and optional rules, and use runtime validation at untrusted boundaries. Keep a representative fixture beside the reviewed type so later payload changes are visible.