Things that would usually be done with named arguments can be somewhat troublesome to provide. I still have not found a pattern that is always suitable, and it mostly depends on a case-by-case decision which pattern(s) seem to work best (struct with pub
fields, one of the various builder patterns, or macros).
See also: