Narrows the type to P if the value is present and has actually the type of P.
@override Nothing<P> type<P>() => Nothing();