Schema.optional I can't provide a custom message.Expected undefined, actual "" when decoding the input { foo: '' } with IgnoredMessage even though it defines a custom message.Schema.optionalWith(Foo, { exact: true }), so I suppose the problem comes from some Schema.Union(Foo, Schema.Undefined), that is used internally by Schema.optional and which message is not overridden by the user annotation.optionalWith is probably fine in my use case, but my program does not actually care if the value is missing or undefined, so it breaks the robustness principle.