Returns the wrapped value (if present), or throws the result of the producer.
producer
@override T orThrow(Object Function() producer) => throw producer();