A structured error for one invalid public option.
Option validators return these values inside their operation-specific error contract. Match on :option and :code; :value preserves the rejected input for diagnostics.
:option
:code
:value
@type t() :: %Figler.OptionError{code: atom(), option: atom(), value: term()}