diff --git a/spec/Candid.md b/spec/Candid.md index e54267556..1322159ef 100644 --- a/spec/Candid.md +++ b/spec/Candid.md @@ -944,11 +944,14 @@ An optional value coerces at an option type, if the constituent value coerces at opt ~> opt : opt ``` -If an optional value _fails_ to coerce at an optional type, the result is `null`, not failure: +If an optional value _fails_ to coerce at an optional type, or the value is `reserved`, the result is `null`, not failure: ``` not ( ~> _ : ) ------------------------- opt ~> null : opt + +----------------------------------- +(null : reserved) ~> null : opt ``` Coercing a non-null, non-optional and non-reserved value at an option type treats it as an optional value: