Represents an action argument or calculation argument in the API specification.
allow_nil? and has_default? describe the shape of the value once supplied
(whether nil is a permitted value, and whether a default exists). required?
is orthogonal and describes input presence: whether a caller must supply this
argument at all. A field can be required-to-provide but nullable, or optional-
to-provide but non-null when provided — so consumers generating input types
should look at required? to decide optionality.