class Result {

  @NonNull
  public T orElse(@NonNull final T other) {
    return value != null ? value : checkNotNull(other);
  }

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

}