Every codegen-emitted Request / Result record now ships with a
sibling 0-arg fn that returns the record with every field set to
option.None. Callers spread it via Gleam's record-update syntax
to set just the fields they care about — turns the 20+ line
'pass None to every field' boilerplate into 3-4 lines:
// Before:
s3.GetObjectRequest(
bucket: Some("b"), key: Some("k"),
checksum_mode: None, expected_bucket_owner: None,
if_match: None, /* ... 18 more None lines ... */
)
// After:
s3.GetObjectRequest(
..s3.get_object_request_default(),
bucket: Some("b"), key: Some("k"),
)
Wired across all four protocol emitters (awsjson, restjson,
restxml, awsquery) including nested-struct sites. Pure addition
on top of v1.0; existing call sites that build the full record
keep compiling.
Examples migrate to the factory shape after v1.1.0 publishes
(they pin to hex; 1.0.0 doesn't have the factory yet).