CEL optional type — represents a value that may or may not be present.
Used with optional fields in protobuf messages and the optional library.
@type t() :: %Celixir.Types.Optional{has_value: boolean(), value: any()}