class Result {

  @NonNull
  public Result<T> ifFailedSendTo(@NonNull final Receiver<? super Throwable> receiver) {
    if (failure != null) {
      receiver.accept(failure);
    }
    return this;
  }

    Result(@Nullable final T value, @Nullable final Throwable failure);

}