template <typename T, typename V = void>

struct ValueTypeOrVoid

Defined at line 19 of file ../../src/lib/fidl/contrib/fpromise/client.h

|fpromise::result| uses |void| for when the result does not have a success type.

On the other hand, |fit::result| simply leaves the |value_type| alias absent.

This SFINAE converts one scheme to the other.