Hierarchy For All Packages

Package Hierarchies:

Class Hierarchy

  • java.lang.Object
    • com.github.tonivade.purefun.typeclasses.AbstractApply<F,A>
      • com.github.tonivade.purefun.typeclasses.Apply1<F,A>
      • com.github.tonivade.purefun.typeclasses.Apply2<F,A,B>
      • com.github.tonivade.purefun.typeclasses.Apply3<F,A,B,C>
      • com.github.tonivade.purefun.typeclasses.Apply4<F,A,B,C,D>
      • com.github.tonivade.purefun.typeclasses.Apply5<F,A,B,C,D,E>
    • com.github.tonivade.purefun.typeclasses.AbstractFlatMap<F,A,B>
      • com.github.tonivade.purefun.typeclasses.FlatMap1<F,A>
      • com.github.tonivade.purefun.typeclasses.FlatMap2<F,A,B>
      • com.github.tonivade.purefun.typeclasses.FlatMap3<F,A,B,C>
      • com.github.tonivade.purefun.typeclasses.FlatMap4<F,A,B,C,D>
      • com.github.tonivade.purefun.typeclasses.FlatMap5<F,A,B,C,D,E>
    • javax.annotation.processing.AbstractProcessor (implements javax.annotation.processing.Processor)
    • com.github.tonivade.purefun.effect.CallStack<R,E,A> (implements com.github.tonivade.purefun.core.Recoverable)
    • com.github.tonivade.purefun.monad.CallStack<T> (implements com.github.tonivade.purefun.core.Recoverable)
    • com.github.tonivade.purefun.concurrent.CancellableImpl (implements com.github.tonivade.purefun.concurrent.Cancellable)
    • com.github.tonivade.purefun.stream.Cons<F,T> (implements com.github.tonivade.purefun.stream.PureStream<F,T>)
    • com.github.tonivade.purefun.runtimes.ConsoleExecutor
    • com.github.tonivade.purefun.instances.EffectEMonadError<F,E> (implements com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
    • com.github.tonivade.purefun.instances.EffectRMonad<F,R,E> (implements com.github.tonivade.purefun.typeclasses.Monad<F>)
    • com.github.tonivade.purefun.effect.EIO<E,A> (implements com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.effect.EIOOf<E,A>)
    • com.github.tonivade.purefun.free.EitherK<F,G,T> (implements com.github.tonivade.purefun.free.EitherKOf<F,G,T>, java.io.Serializable)
    • com.github.tonivade.purefun.core.Equal<T>
    • com.github.tonivade.purefun.type.Eval.Defer<A> (implements com.github.tonivade.purefun.type.Eval<A>)
    • com.github.tonivade.purefun.type.Eval.Done<A> (implements com.github.tonivade.purefun.type.Eval<A>)
    • com.github.tonivade.purefun.type.Eval.FlatMapped<A,B> (implements com.github.tonivade.purefun.type.Eval<A>)
    • com.github.tonivade.purefun.concurrent.FutureImpl<T> (implements com.github.tonivade.purefun.concurrent.Future<T>)
    • com.github.tonivade.purefun.data.ImmutableArray.PImmutableArray<E> (implements com.github.tonivade.purefun.data.ImmutableArray<E>, java.io.Serializable)
    • com.github.tonivade.purefun.data.ImmutableList.PImmutableList<E> (implements com.github.tonivade.purefun.data.ImmutableList<E>, java.io.Serializable)
    • com.github.tonivade.purefun.data.ImmutableMap.Builder<K,V>
    • com.github.tonivade.purefun.data.ImmutableMap.PImmutableMap<K,V> (implements com.github.tonivade.purefun.data.ImmutableMap<K,V>, java.io.Serializable)
    • com.github.tonivade.purefun.data.ImmutableSet.PImmutableSet<E> (implements com.github.tonivade.purefun.data.ImmutableSet<E>, java.io.Serializable)
    • com.github.tonivade.purefun.data.ImmutableTree.PImmutableTree<E> (implements com.github.tonivade.purefun.data.ImmutableTree<E>, java.io.Serializable)
    • com.github.tonivade.purefun.data.ImmutableTreeMap.Builder<K,V>
    • com.github.tonivade.purefun.data.ImmutableTreeMap.PImmutableTreeMap<K,V> (implements com.github.tonivade.purefun.data.ImmutableTreeMap<K,V>, java.io.Serializable)
    • com.github.tonivade.purefun.typeclasses.Instance<F>
    • com.github.tonivade.purefun.typeclasses.Instances
    • com.github.tonivade.purefun.monad.IO.Async<T> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IO.Delay<T> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IO.Failure<T> (implements com.github.tonivade.purefun.monad.IO<T>, com.github.tonivade.purefun.core.Recoverable)
    • com.github.tonivade.purefun.monad.IO.FlatMapped<T,R> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IO.Pure<T> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IO.Recover<T> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IO.Suspend<T> (implements com.github.tonivade.purefun.monad.IO<T>)
    • com.github.tonivade.purefun.monad.IOConnection.Cancellable (implements com.github.tonivade.purefun.monad.IOConnection)
    • com.github.tonivade.purefun.monad.IOConnection.Uncancellable (implements com.github.tonivade.purefun.monad.IOConnection)
    • com.github.tonivade.purefun.instances.IOConsole (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.optics.Iso<S,A>
    • com.github.tonivade.purefun.optics.Lens<S,A>
    • com.github.tonivade.purefun.effect.Managed<R,E,A> (implements com.github.tonivade.purefun.effect.ManagedOf<R,E,A>)
    • com.github.tonivade.purefun.core.MemoizedFunction<T,R> (implements com.github.tonivade.purefun.core.Function1<A,R>)
    • com.github.tonivade.purefun.core.MemoizedProducer<T> (implements com.github.tonivade.purefun.core.Producer<T>)
    • com.github.tonivade.purefun.typeclasses.MonadDeferReference<F,A> (implements com.github.tonivade.purefun.typeclasses.Reference<F,A>)
    • com.github.tonivade.purefun.instances.MonadMTL<F,S,R,E> (implements com.github.tonivade.purefun.typeclasses.Monad<F>, com.github.tonivade.purefun.typeclasses.MonadError<F,E>, com.github.tonivade.purefun.typeclasses.MonadReader<F,R>, com.github.tonivade.purefun.typeclasses.MonadState<F,S>)
    • com.github.tonivade.purefun.instances.MonadMTL.EffectE<F,E,A> (implements com.github.tonivade.purefun.Kind<F,A>)
    • com.github.tonivade.purefun.instances.MonadMTL.EffectR<F,R,E,A> (implements com.github.tonivade.purefun.Kind<F,A>)
    • com.github.tonivade.purefun.instances.MonadMTL.EffectS<F,S,R,E,A> (implements com.github.tonivade.purefun.Kind<F,A>)
    • com.github.tonivade.purefun.stream.Nil<F,T> (implements com.github.tonivade.purefun.stream.PureStream<F,T>)
    • com.github.tonivade.purefun.data.NonEmptyList<E> (implements com.github.tonivade.purefun.data.ImmutableList<E>, java.io.Serializable)
    • com.github.tonivade.purefun.data.NonEmptyString (implements java.io.Serializable)
    • com.github.tonivade.purefun.type.Option.None<T> (implements com.github.tonivade.purefun.type.Option<T>, java.io.Serializable)
    • com.github.tonivade.purefun.optics.Optional<S,A>
    • com.github.tonivade.purefun.data.PairIterator<A,B> (implements java.util.Iterator<E>)
    • com.github.tonivade.purefun.optics.PIso<S,T,A,B>
    • com.github.tonivade.purefun.optics.PLens<S,T,A,B>
    • com.github.tonivade.purefun.optics.POptional<S,T,A,B>
    • com.github.tonivade.purefun.optics.PPrism<S,T,A,B>
    • com.github.tonivade.purefun.optics.Prism<S,A>
    • com.github.tonivade.purefun.concurrent.PromiseImpl<T> (implements com.github.tonivade.purefun.concurrent.Promise<T>)
    • com.github.tonivade.purefun.effect.PureIO.AccessM<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Async<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Attempt<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Delay<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Failure<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.FlatMapped<R,E,A,F,B> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Pure<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Recover<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Suspend<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIO.Throw<R,E,A> (implements com.github.tonivade.purefun.effect.PureIO<R,E,A>)
    • com.github.tonivade.purefun.effect.PureIOConnection.Cancellable (implements com.github.tonivade.purefun.effect.PureIOConnection)
    • com.github.tonivade.purefun.effect.PureIOConnection.Uncancellable (implements com.github.tonivade.purefun.effect.PureIOConnection)
    • com.github.tonivade.purefun.instances.PureIOConsole<R> (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.effect.util.PureRandomImpl (implements com.github.tonivade.purefun.effect.util.PureRandom)
    • com.github.tonivade.purefun.effect.Ref<A>
    • com.github.tonivade.purefun.monad.Ref<A>
    • com.github.tonivade.purefun.typeclasses.ReferenceMonadState<F,S> (implements com.github.tonivade.purefun.typeclasses.MonadState<F,S>)
    • com.github.tonivade.purefun.typeclasses.Resource<F,T> (implements com.github.tonivade.purefun.typeclasses.ResourceOf<F,T>)
    • com.github.tonivade.purefun.effect.RIO<R,A> (implements com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.core.Recoverable, com.github.tonivade.purefun.effect.RIOOf<R,A>)
    • com.github.tonivade.purefun.instances.RIOConsole<R> (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.typeclasses.ScheduleImpl<F,S,A,B> (implements com.github.tonivade.purefun.typeclasses.Schedule<F,A,B>, com.github.tonivade.purefun.typeclasses.Schedule.Extract<A,S,B>, com.github.tonivade.purefun.typeclasses.Schedule.Update<F,S,A>)
    • com.github.tonivade.purefun.data.SequenceCollection<E> (implements java.util.SequencedCollection<E>)
    • com.github.tonivade.purefun.effect.StackItem<R,E,A>
    • com.github.tonivade.purefun.monad.StackItem<T>
    • com.github.tonivade.purefun.instances.StateConsole (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.monad.StateIO
    • com.github.tonivade.purefun.stream.Suspend<F,T> (implements com.github.tonivade.purefun.stream.PureStream<F,T>)
    • com.github.tonivade.purefun.instances.SystemConsole
    • com.github.tonivade.purefun.effect.Task<A> (implements com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.core.Recoverable, com.github.tonivade.purefun.effect.TaskOf<A>)
    • com.github.tonivade.purefun.instances.TaskConsole (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • java.lang.Throwable (implements java.io.Serializable)
    • com.github.tonivade.purefun.core.Tuple1<A> (implements java.io.Serializable, com.github.tonivade.purefun.core.Tuple, com.github.tonivade.purefun.core.Tuple1Of<A>)
    • com.github.tonivade.purefun.core.Tuple2<A,B> (implements java.io.Serializable, com.github.tonivade.purefun.core.Tuple, com.github.tonivade.purefun.core.Tuple2Of<A,B>)
    • com.github.tonivade.purefun.core.Tuple3<A,B,C> (implements java.io.Serializable, com.github.tonivade.purefun.core.Tuple)
    • com.github.tonivade.purefun.core.Tuple4<A,B,C,D> (implements java.io.Serializable, com.github.tonivade.purefun.core.Tuple)
    • com.github.tonivade.purefun.core.Tuple5<A,B,C,D,E> (implements java.io.Serializable, com.github.tonivade.purefun.core.Tuple)
    • com.github.tonivade.purefun.typeclasses.TupleK1<F,A> (implements com.github.tonivade.purefun.typeclasses.TupleK<F>)
    • com.github.tonivade.purefun.typeclasses.TupleK2<F,A,B> (implements com.github.tonivade.purefun.typeclasses.TupleK<F>)
    • com.github.tonivade.purefun.typeclasses.TupleK3<F,A,B,C> (implements com.github.tonivade.purefun.typeclasses.TupleK<F>)
    • com.github.tonivade.purefun.typeclasses.TupleK4<F,A,B,C,D> (implements com.github.tonivade.purefun.typeclasses.TupleK<F>)
    • com.github.tonivade.purefun.typeclasses.TupleK5<F,A,B,C,D,E> (implements com.github.tonivade.purefun.typeclasses.TupleK<F>)
    • com.github.tonivade.purefun.effect.UIO<A> (implements com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.core.Recoverable, com.github.tonivade.purefun.effect.UIOOf<A>)
    • com.github.tonivade.purefun.instances.UIOConsole (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.core.Unit (implements java.io.Serializable)
    • com.github.tonivade.purefun.effect.URIO<R,A> (implements com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.core.Recoverable, com.github.tonivade.purefun.effect.URIOOf<R,A>)
    • com.github.tonivade.purefun.instances.URIOConsole<R> (implements com.github.tonivade.purefun.typeclasses.Console<F>)
    • com.github.tonivade.purefun.type.Validation.Result<E> (implements java.lang.Iterable<T>, java.io.Serializable)

Interface Hierarchy

  • com.github.tonivade.purefun.concurrent.Callback<T>
  • com.github.tonivade.purefun.concurrent.Cancellable
  • com.github.tonivade.purefun.typeclasses.Console<F>
  • com.github.tonivade.purefun.instances.ConstInstances
  • com.github.tonivade.purefun.typeclasses.Defer<F>
    • com.github.tonivade.purefun.instances.EIODefer<E>
      • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIOBracket<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
        • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.instances.EitherTDefer<F,E>
    • com.github.tonivade.purefun.instances.EvalDefer
    • com.github.tonivade.purefun.instances.IODefer
      • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IOBracket, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
        • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.typeclasses.MonadDefer<F> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>, com.github.tonivade.purefun.typeclasses.MonadThrow<F>, com.github.tonivade.purefun.typeclasses.Timer<F>)
      • com.github.tonivade.purefun.typeclasses.Async<F>
        • com.github.tonivade.purefun.typeclasses.Concurrent<F>
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.instances.EIOAsync)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.instances.IOAsync)
          • com.github.tonivade.purefun.instances.PureIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.PureIOAsync<R>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.RIOAsync<R>)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.instances.TaskAsync)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.instances.UIOAsync)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.URIOAsync<R>)
        • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.instances.EIOMonadDefer)
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.instances.IOMonadDefer)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.instances.PureIOMonadDefer<R>)
        • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.instances.RIOMonadDefer<R>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.instances.TaskMonadDefer)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.instances.UIOMonadDefer)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.instances.URIOMonadDefer<R>)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIOBracket<E>, com.github.tonivade.purefun.instances.EIODefer<E>)
        • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.EitherTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.EitherTBracket<F,E>, com.github.tonivade.purefun.instances.EitherTDefer<F,E>, com.github.tonivade.purefun.instances.EitherTMonadThrowFromMonadThrow<F>, com.github.tonivade.purefun.instances.EitherTTimer<F>)
      • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IOBracket, com.github.tonivade.purefun.instances.IODefer)
        • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.OptionTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.OptionTBracket<F>, com.github.tonivade.purefun.instances.OptionTDefer<F>, com.github.tonivade.purefun.instances.OptionTMonadThrow<F>)
      • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.PureIOBracket<R,E>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
        • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
      • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.RIOBracket<R>, com.github.tonivade.purefun.instances.RIODefer<R>)
        • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.instances.TaskBracket, com.github.tonivade.purefun.instances.TaskDefer)
        • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.instances.UIOBracket, com.github.tonivade.purefun.instances.UIODefer)
        • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.URIOBracket<R>, com.github.tonivade.purefun.instances.URIODefer<R>)
        • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.instances.OptionTDefer<F>
    • com.github.tonivade.purefun.instances.PureIODefer<R,E>
      • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIOBracket<R,E>)
        • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
    • com.github.tonivade.purefun.instances.RIODefer<R>
      • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIOBracket<R>)
        • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.instances.TaskDefer
      • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskBracket)
        • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.instances.TrampolineDefer
    • com.github.tonivade.purefun.instances.UIODefer
      • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIOBracket)
        • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
    • com.github.tonivade.purefun.instances.URIODefer<R>
      • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIOBracket<R>)
        • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
  • com.github.tonivade.purefun.instances.EIOInstances
  • com.github.tonivade.purefun.instances.EitherInstances
  • com.github.tonivade.purefun.instances.EitherKInstances
  • com.github.tonivade.purefun.instances.EitherTInstances
  • com.github.tonivade.purefun.core.Eq<T>
  • com.github.tonivade.purefun.instances.EvalInstances
  • com.github.tonivade.purefun.instances.ExecutorHolder
    • com.github.tonivade.purefun.instances.FuturePure (also extends com.github.tonivade.purefun.typeclasses.Applicative<F>)
      • com.github.tonivade.purefun.instances.FutureApplicative
      • com.github.tonivade.purefun.instances.FutureMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
  • com.github.tonivade.purefun.typeclasses.Fiber<F,A>
  • com.github.tonivade.purefun.typeclasses.Foldable<F>
  • com.github.tonivade.purefun.typeclasses.For<F>
  • com.github.tonivade.purefun.instances.Function1Instances
  • com.github.tonivade.purefun.typeclasses.FunctionK<F,G>
  • com.github.tonivade.purefun.instances.FutureInstances
  • com.github.tonivade.purefun.concurrent.FutureModule
  • com.github.tonivade.purefun.instances.IdInstances
  • com.github.tonivade.purefun.typeclasses.InjectK<F,G>
  • com.github.tonivade.purefun.typeclasses.Invariant<F>
    • com.github.tonivade.purefun.typeclasses.ComposedInvariant<F,G>
    • com.github.tonivade.purefun.typeclasses.ComposedInvariantContravariant<F,G>
    • com.github.tonivade.purefun.typeclasses.ComposedInvariantCovariant<F,G>
    • com.github.tonivade.purefun.typeclasses.Contravariant<F>
    • com.github.tonivade.purefun.typeclasses.Functor<F>
      • com.github.tonivade.purefun.typeclasses.Applicative<F>
        • com.github.tonivade.purefun.typeclasses.Alternative<F> (also extends com.github.tonivade.purefun.typeclasses.MonoidK<F>)
        • com.github.tonivade.purefun.typeclasses.ApplicativeError<F,E>
          • com.github.tonivade.purefun.typeclasses.MonadError<F,E> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.typeclasses.Bracket<F,E>
              • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.instances.EIOMonadError<E>)
                • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.EitherTBracket<F,E>
              • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.instances.IOMonadError)
                • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.typeclasses.MonadDefer<F> (also extends com.github.tonivade.purefun.typeclasses.Defer<F>, com.github.tonivade.purefun.typeclasses.MonadThrow<F>, com.github.tonivade.purefun.typeclasses.Timer<F>)
                • com.github.tonivade.purefun.typeclasses.Async<F>
                  • com.github.tonivade.purefun.typeclasses.Concurrent<F>
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.instances.EIOAsync)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.instances.IOAsync)
                    • com.github.tonivade.purefun.instances.PureIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.PureIOAsync<R>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.RIOAsync<R>)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.instances.TaskAsync)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.instances.UIOAsync)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.URIOAsync<R>)
                  • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.instances.EIOMonadDefer)
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.instances.IOMonadDefer)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.instances.PureIOMonadDefer<R>)
                  • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.instances.RIOMonadDefer<R>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.instances.TaskMonadDefer)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.instances.UIOMonadDefer)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.instances.URIOMonadDefer<R>)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIOBracket<E>, com.github.tonivade.purefun.instances.EIODefer<E>)
                  • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.EitherTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.EitherTBracket<F,E>, com.github.tonivade.purefun.instances.EitherTDefer<F,E>, com.github.tonivade.purefun.instances.EitherTMonadThrowFromMonadThrow<F>, com.github.tonivade.purefun.instances.EitherTTimer<F>)
                • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IOBracket, com.github.tonivade.purefun.instances.IODefer)
                  • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.OptionTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.OptionTBracket<F>, com.github.tonivade.purefun.instances.OptionTDefer<F>, com.github.tonivade.purefun.instances.OptionTMonadThrow<F>)
                • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.PureIOBracket<R,E>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                  • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.RIOBracket<R>, com.github.tonivade.purefun.instances.RIODefer<R>)
                  • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.instances.TaskBracket, com.github.tonivade.purefun.instances.TaskDefer)
                  • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.instances.UIOBracket, com.github.tonivade.purefun.instances.UIODefer)
                  • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.URIOBracket<R>, com.github.tonivade.purefun.instances.URIODefer<R>)
                  • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.OptionTBracket<F>
              • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.instances.PureIOMonadError<R,E>)
                • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                  • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
              • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.instances.RIOMonadError<R>)
                • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                  • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.instances.TaskMonadError)
                • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                  • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.instances.UIOMonadError)
                • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                  • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.instances.URIOMonadError<R>)
                • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                  • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
            • com.github.tonivade.purefun.instances.EIOMonadError<E> (also extends com.github.tonivade.purefun.instances.EIOMonad<E>)
              • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.EIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.EitherMonadError<L> (also extends com.github.tonivade.purefun.instances.EitherMonad<L>)
            • com.github.tonivade.purefun.instances.EitherTMonadErrorFromMonad<F,E> (also extends com.github.tonivade.purefun.instances.EitherTMonad<F,L>)
            • com.github.tonivade.purefun.instances.EitherTMonadErrorFromMonadError<F,E> (also extends com.github.tonivade.purefun.instances.EitherTMonad<F,L>)
            • com.github.tonivade.purefun.instances.EvalMonadError (also extends com.github.tonivade.purefun.instances.EvalMonad)
              • com.github.tonivade.purefun.instances.EvalMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.IOMonadError (also extends com.github.tonivade.purefun.instances.IOMonad)
              • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.IOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.KleisliMonadError<F,R,E> (also extends com.github.tonivade.purefun.instances.KleisliMonad<F,Z>)
            • com.github.tonivade.purefun.typeclasses.MonadThrow<F>
            • com.github.tonivade.purefun.instances.OptionMonadError (also extends com.github.tonivade.purefun.instances.OptionMonad)
            • com.github.tonivade.purefun.instances.OptionTMonadErrorFromMonad<F> (also extends com.github.tonivade.purefun.instances.OptionTMonad<F>)
            • com.github.tonivade.purefun.instances.OptionTMonadErrorFromMonadError<F,E> (also extends com.github.tonivade.purefun.instances.OptionTMonad<F>)
            • com.github.tonivade.purefun.instances.PureIOMonadError<R,E> (also extends com.github.tonivade.purefun.instances.PureIOMonad<R,E>)
              • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                  • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
              • com.github.tonivade.purefun.instances.PureIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.RIOMonadError<R> (also extends com.github.tonivade.purefun.instances.RIOMonad<R>)
              • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                  • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.RIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.StateTMonadError<F,S,E> (also extends com.github.tonivade.purefun.instances.StateTMonad<F,S>)
            • com.github.tonivade.purefun.instances.TaskMonadError (also extends com.github.tonivade.purefun.instances.TaskMonad)
              • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                  • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.TaskMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.TryMonadError (also extends com.github.tonivade.purefun.instances.TryMonad)
              • com.github.tonivade.purefun.instances.TryMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.UIOMonadError (also extends com.github.tonivade.purefun.instances.UIOMonad)
              • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                  • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.UIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.URIOMonadError<R> (also extends com.github.tonivade.purefun.instances.URIOMonad<R>)
              • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                  • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.URIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.ValidationMonadError<E> (also extends com.github.tonivade.purefun.instances.ValidationMonad<E>)
            • com.github.tonivade.purefun.instances.WriterTMonadError<F,L,E> (also extends com.github.tonivade.purefun.instances.WriterTMonad<F,L>)
        • com.github.tonivade.purefun.typeclasses.ComposedApplicative<F,G>
        • com.github.tonivade.purefun.instances.ConstApplicative<T>
        • com.github.tonivade.purefun.instances.EIOPure<E>
          • com.github.tonivade.purefun.instances.EIOApplicative<E>
          • com.github.tonivade.purefun.instances.EIOMonad<E> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.EIOMonadError<E> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.EIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.EitherPure<L>
          • com.github.tonivade.purefun.instances.EitherApplicative<L>
          • com.github.tonivade.purefun.instances.EitherMonad<L> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
        • com.github.tonivade.purefun.instances.EvalPure
          • com.github.tonivade.purefun.instances.EvalApplicative
          • com.github.tonivade.purefun.instances.EvalMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.EvalMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.EvalMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.free.FreeApplicative<F>
        • com.github.tonivade.purefun.instances.Function1Pure<T>
        • com.github.tonivade.purefun.instances.FuturePure (also extends com.github.tonivade.purefun.instances.ExecutorHolder)
          • com.github.tonivade.purefun.instances.FutureApplicative
          • com.github.tonivade.purefun.instances.FutureMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
        • com.github.tonivade.purefun.instances.IdPure
          • com.github.tonivade.purefun.instances.IdApplicative
          • com.github.tonivade.purefun.instances.IdMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
        • com.github.tonivade.purefun.instances.IOApplicative (also extends com.github.tonivade.purefun.instances.IOPure)
        • com.github.tonivade.purefun.instances.IOPure
          • com.github.tonivade.purefun.instances.IOApplicative (also extends com.github.tonivade.purefun.typeclasses.Applicative<F>)
          • com.github.tonivade.purefun.instances.IOMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.IOMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                  • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.IOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.OptionPure
        • com.github.tonivade.purefun.instances.ProducerPure
        • com.github.tonivade.purefun.instances.PromisePure (also extends com.github.tonivade.purefun.instances.PromiseExecutorHolder)
        • com.github.tonivade.purefun.instances.PureIOPure<R,E>
          • com.github.tonivade.purefun.instances.PureIOApplicative<R,E>
          • com.github.tonivade.purefun.instances.PureIOMonad<R,E> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.PureIOMonadError<R,E> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                  • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
              • com.github.tonivade.purefun.instances.PureIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.PureStreamPure<F>
          • com.github.tonivade.purefun.instances.PureStreamMonad<F> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
        • com.github.tonivade.purefun.instances.RIOPure<R>
          • com.github.tonivade.purefun.instances.RIOApplicative<R>
          • com.github.tonivade.purefun.instances.RIOMonad<R> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.RIOMonadError<R> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                  • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.RIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.typeclasses.Selective<F>
          • com.github.tonivade.purefun.typeclasses.Monad<F>
            • com.github.tonivade.purefun.instances.EIOMonad<E> (also extends com.github.tonivade.purefun.instances.EIOPure<E>)
              • com.github.tonivade.purefun.instances.EIOMonadError<E> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.EIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.EitherMonad<L> (also extends com.github.tonivade.purefun.instances.EitherPure<L>)
            • com.github.tonivade.purefun.instances.EitherTMonad<F,L>
            • com.github.tonivade.purefun.instances.EvalMonad (also extends com.github.tonivade.purefun.instances.EvalPure)
              • com.github.tonivade.purefun.instances.EvalMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.EvalMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.free.FreeMonad<F>
            • com.github.tonivade.purefun.instances.Function1Monad<T> (also extends com.github.tonivade.purefun.instances.Function1Pure<T>)
            • com.github.tonivade.purefun.instances.FutureMonad (also extends com.github.tonivade.purefun.instances.FuturePure)
            • com.github.tonivade.purefun.instances.IdMonad (also extends com.github.tonivade.purefun.instances.IdPure)
            • com.github.tonivade.purefun.instances.IOMonad (also extends com.github.tonivade.purefun.instances.IOPure)
              • com.github.tonivade.purefun.instances.IOMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.IOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.KleisliMonad<F,Z>
            • com.github.tonivade.purefun.typeclasses.MonadError<F,E> (also extends com.github.tonivade.purefun.typeclasses.ApplicativeError<F,E>)
              • com.github.tonivade.purefun.typeclasses.Bracket<F,E>
                • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.instances.EIOMonadError<E>)
                  • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.EitherTBracket<F,E>
                • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.instances.IOMonadError)
                  • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.typeclasses.MonadDefer<F> (also extends com.github.tonivade.purefun.typeclasses.Defer<F>, com.github.tonivade.purefun.typeclasses.MonadThrow<F>, com.github.tonivade.purefun.typeclasses.Timer<F>)
                  • com.github.tonivade.purefun.typeclasses.Async<F>
                    • com.github.tonivade.purefun.typeclasses.Concurrent<F>
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.instances.EIOAsync)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.instances.IOAsync)
                      • com.github.tonivade.purefun.instances.PureIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.PureIOAsync<R>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.RIOAsync<R>)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.instances.TaskAsync)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.instances.UIOAsync)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.URIOAsync<R>)
                    • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.instances.EIOMonadDefer)
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                    • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.instances.IOMonadDefer)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                    • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.instances.PureIOMonadDefer<R>)
                    • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.instances.RIOMonadDefer<R>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                    • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.instances.TaskMonadDefer)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                    • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.instances.UIOMonadDefer)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                    • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.instances.URIOMonadDefer<R>)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIOBracket<E>, com.github.tonivade.purefun.instances.EIODefer<E>)
                    • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.EitherTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.EitherTBracket<F,E>, com.github.tonivade.purefun.instances.EitherTDefer<F,E>, com.github.tonivade.purefun.instances.EitherTMonadThrowFromMonadThrow<F>, com.github.tonivade.purefun.instances.EitherTTimer<F>)
                  • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IOBracket, com.github.tonivade.purefun.instances.IODefer)
                    • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.OptionTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.OptionTBracket<F>, com.github.tonivade.purefun.instances.OptionTDefer<F>, com.github.tonivade.purefun.instances.OptionTMonadThrow<F>)
                  • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.PureIOBracket<R,E>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                    • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                  • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.RIOBracket<R>, com.github.tonivade.purefun.instances.RIODefer<R>)
                    • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.instances.TaskBracket, com.github.tonivade.purefun.instances.TaskDefer)
                    • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.instances.UIOBracket, com.github.tonivade.purefun.instances.UIODefer)
                    • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                  • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.URIOBracket<R>, com.github.tonivade.purefun.instances.URIODefer<R>)
                    • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.OptionTBracket<F>
                • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.instances.PureIOMonadError<R,E>)
                  • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                    • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.instances.RIOMonadError<R>)
                  • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                    • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.instances.TaskMonadError)
                  • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                    • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.instances.UIOMonadError)
                  • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                    • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.instances.URIOMonadError<R>)
                  • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                    • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.EIOMonadError<E> (also extends com.github.tonivade.purefun.instances.EIOMonad<E>)
                • com.github.tonivade.purefun.instances.EIOBracket<E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIODefer<E>, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.EIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.EitherMonadError<L> (also extends com.github.tonivade.purefun.instances.EitherMonad<L>)
              • com.github.tonivade.purefun.instances.EitherTMonadErrorFromMonad<F,E> (also extends com.github.tonivade.purefun.instances.EitherTMonad<F,L>)
              • com.github.tonivade.purefun.instances.EitherTMonadErrorFromMonadError<F,E> (also extends com.github.tonivade.purefun.instances.EitherTMonad<F,L>)
              • com.github.tonivade.purefun.instances.EvalMonadError (also extends com.github.tonivade.purefun.instances.EvalMonad)
                • com.github.tonivade.purefun.instances.EvalMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.IOMonadError (also extends com.github.tonivade.purefun.instances.IOMonad)
                • com.github.tonivade.purefun.instances.IOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IODefer, com.github.tonivade.purefun.typeclasses.MonadDefer<F>)
                    • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.IOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.KleisliMonadError<F,R,E> (also extends com.github.tonivade.purefun.instances.KleisliMonad<F,Z>)
              • com.github.tonivade.purefun.typeclasses.MonadThrow<F>
              • com.github.tonivade.purefun.instances.OptionMonadError (also extends com.github.tonivade.purefun.instances.OptionMonad)
              • com.github.tonivade.purefun.instances.OptionTMonadErrorFromMonad<F> (also extends com.github.tonivade.purefun.instances.OptionTMonad<F>)
              • com.github.tonivade.purefun.instances.OptionTMonadErrorFromMonadError<F,E> (also extends com.github.tonivade.purefun.instances.OptionTMonad<F>)
              • com.github.tonivade.purefun.instances.PureIOMonadError<R,E> (also extends com.github.tonivade.purefun.instances.PureIOMonad<R,E>)
                • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                    • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                • com.github.tonivade.purefun.instances.PureIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.RIOMonadError<R> (also extends com.github.tonivade.purefun.instances.RIOMonad<R>)
                • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                    • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.RIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.StateTMonadError<F,S,E> (also extends com.github.tonivade.purefun.instances.StateTMonad<F,S>)
              • com.github.tonivade.purefun.instances.TaskMonadError (also extends com.github.tonivade.purefun.instances.TaskMonad)
                • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                    • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.TaskMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.TryMonadError (also extends com.github.tonivade.purefun.instances.TryMonad)
                • com.github.tonivade.purefun.instances.TryMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.UIOMonadError (also extends com.github.tonivade.purefun.instances.UIOMonad)
                • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                    • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.UIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.URIOMonadError<R> (also extends com.github.tonivade.purefun.instances.URIOMonad<R>)
                • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                    • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.URIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
              • com.github.tonivade.purefun.instances.ValidationMonadError<E> (also extends com.github.tonivade.purefun.instances.ValidationMonad<E>)
              • com.github.tonivade.purefun.instances.WriterTMonadError<F,L,E> (also extends com.github.tonivade.purefun.instances.WriterTMonad<F,L>)
            • com.github.tonivade.purefun.typeclasses.MonadReader<F,R>
            • com.github.tonivade.purefun.typeclasses.MonadState<F,S>
            • com.github.tonivade.purefun.typeclasses.MonadWriter<F,W>
            • com.github.tonivade.purefun.instances.OptionMonad (also extends com.github.tonivade.purefun.instances.OptionPure)
            • com.github.tonivade.purefun.instances.OptionTMonad<F>
            • com.github.tonivade.purefun.instances.ProducerMonad (also extends com.github.tonivade.purefun.instances.ProducerPure)
            • com.github.tonivade.purefun.instances.PromiseMonad (also extends com.github.tonivade.purefun.instances.PromisePure)
            • com.github.tonivade.purefun.instances.PureIOMonad<R,E> (also extends com.github.tonivade.purefun.instances.PureIOPure<R,E>)
              • com.github.tonivade.purefun.instances.PureIOMonadError<R,E> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.PureIOBracket<R,E> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
                    • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                • com.github.tonivade.purefun.instances.PureIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.PureStreamMonad<F> (also extends com.github.tonivade.purefun.instances.PureStreamPure<F>)
            • com.github.tonivade.purefun.instances.ReaderMonad<R>
            • com.github.tonivade.purefun.instances.RIOMonad<R> (also extends com.github.tonivade.purefun.instances.RIOPure<R>)
              • com.github.tonivade.purefun.instances.RIOMonadError<R> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.RIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.RIODefer<R>)
                    • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.RIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.SequenceMonad (also extends com.github.tonivade.purefun.instances.SequencePure)
            • com.github.tonivade.purefun.instances.StateMonad<S>
              • com.github.tonivade.purefun.instances.StateMonadState<S> (also extends com.github.tonivade.purefun.typeclasses.MonadState<F,S>)
            • com.github.tonivade.purefun.instances.StateTMonad<F,S>
              • com.github.tonivade.purefun.instances.StateTMonadError<F,S,E> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.StateTMonadReader<F,S,R> (also extends com.github.tonivade.purefun.typeclasses.MonadReader<F,R>)
              • com.github.tonivade.purefun.instances.StateTMonadState<F,S> (also extends com.github.tonivade.purefun.typeclasses.MonadState<F,S>)
            • com.github.tonivade.purefun.instances.TaskMonad (also extends com.github.tonivade.purefun.instances.TaskPure)
              • com.github.tonivade.purefun.instances.TaskMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                    • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.TaskMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.TrampolineMonad (also extends com.github.tonivade.purefun.instances.TrampolinePure)
            • com.github.tonivade.purefun.instances.TryMonad (also extends com.github.tonivade.purefun.instances.TryPure)
              • com.github.tonivade.purefun.instances.TryMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.TryMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.UIOMonad (also extends com.github.tonivade.purefun.instances.UIOPure)
              • com.github.tonivade.purefun.instances.UIOMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                    • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.UIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.URIOMonad<R> (also extends com.github.tonivade.purefun.instances.URIOPure<R>)
              • com.github.tonivade.purefun.instances.URIOMonadError<R> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
                • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                  • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                    • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                      • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
                • com.github.tonivade.purefun.instances.URIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
            • com.github.tonivade.purefun.instances.ValidationMonad<E> (also extends com.github.tonivade.purefun.instances.ValidationPure<E>)
            • com.github.tonivade.purefun.instances.WriterMonad<L>
            • com.github.tonivade.purefun.instances.WriterTMonad<F,L>
          • com.github.tonivade.purefun.instances.ValidationSelective<E> (also extends com.github.tonivade.purefun.instances.ValidationApplicative<E>)
        • com.github.tonivade.purefun.instances.SequenceApplicative (also extends com.github.tonivade.purefun.instances.SequencePure)
        • com.github.tonivade.purefun.instances.SequencePure
        • com.github.tonivade.purefun.instances.TaskPure
          • com.github.tonivade.purefun.instances.TaskApplicative
          • com.github.tonivade.purefun.instances.TaskMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.TaskMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.TaskBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.TaskDefer)
                  • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.TaskMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.TrampolinePure
        • com.github.tonivade.purefun.instances.TryPure
          • com.github.tonivade.purefun.instances.TryApplicative
          • com.github.tonivade.purefun.instances.TryMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.TryMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.TryMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.UIOPure
          • com.github.tonivade.purefun.instances.UIOApplicative
          • com.github.tonivade.purefun.instances.UIOMonad (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.UIOMonadError (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.UIOBracket (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.UIODefer)
                  • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.UIOMonadThrow (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.URIOPure<R>
          • com.github.tonivade.purefun.instances.URIOApplicative<R>
          • com.github.tonivade.purefun.instances.URIOMonad<R> (also extends com.github.tonivade.purefun.typeclasses.Monad<F>)
            • com.github.tonivade.purefun.instances.URIOMonadError<R> (also extends com.github.tonivade.purefun.typeclasses.MonadError<F,E>)
              • com.github.tonivade.purefun.instances.URIOBracket<R> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>)
                • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.typeclasses.MonadDefer<F>, com.github.tonivade.purefun.instances.URIODefer<R>)
                  • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
                    • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
              • com.github.tonivade.purefun.instances.URIOMonadThrow<R> (also extends com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
        • com.github.tonivade.purefun.instances.ValidationApplicative<E> (also extends com.github.tonivade.purefun.instances.ValidationPure<E>)
        • com.github.tonivade.purefun.instances.ValidationPure<E>
      • com.github.tonivade.purefun.typeclasses.Comonad<F>
      • com.github.tonivade.purefun.typeclasses.ComposedContravariant<F,G>
      • com.github.tonivade.purefun.typeclasses.ComposedFunctor<F,G>
      • com.github.tonivade.purefun.instances.ConstFunctor<T>
      • com.github.tonivade.purefun.instances.EIOFunctor<E>
      • com.github.tonivade.purefun.instances.EitherFunctor<L>
      • com.github.tonivade.purefun.instances.EitherKFunctor<F,G>
        • com.github.tonivade.purefun.instances.EitherKComonad<F,G> (also extends com.github.tonivade.purefun.typeclasses.Comonad<F>)
      • com.github.tonivade.purefun.instances.EvalFunctor
        • com.github.tonivade.purefun.instances.EvalComonad (also extends com.github.tonivade.purefun.typeclasses.Comonad<F>)
      • com.github.tonivade.purefun.instances.Function1Functor<T>
      • com.github.tonivade.purefun.instances.FutureFunctor
      • com.github.tonivade.purefun.instances.IdFunctor
        • com.github.tonivade.purefun.instances.IdComonad (also extends com.github.tonivade.purefun.typeclasses.Comonad<F>)
      • com.github.tonivade.purefun.instances.IOFunctor
      • com.github.tonivade.purefun.instances.OptionFunctor
      • com.github.tonivade.purefun.instances.ProducerFunctor
        • com.github.tonivade.purefun.instances.ProducerComonad (also extends com.github.tonivade.purefun.typeclasses.Comonad<F>)
      • com.github.tonivade.purefun.instances.PromiseFunctor
      • com.github.tonivade.purefun.instances.PureIOFunctor<R,E>
      • com.github.tonivade.purefun.instances.PureStreamFunctor<F>
      • com.github.tonivade.purefun.instances.RIOFunctor<R>
      • com.github.tonivade.purefun.instances.ScheduleFunctor<F,A>
      • com.github.tonivade.purefun.instances.SequenceFunctor
      • com.github.tonivade.purefun.instances.TaskFunctor
      • com.github.tonivade.purefun.instances.TrampolineFunctor
      • com.github.tonivade.purefun.typeclasses.Traverse<F> (also extends com.github.tonivade.purefun.typeclasses.Foldable<F>)
      • com.github.tonivade.purefun.instances.TryFunctor
      • com.github.tonivade.purefun.instances.Tuple1Functor
      • com.github.tonivade.purefun.instances.UIOFunctor
      • com.github.tonivade.purefun.instances.URIOFunctor<R>
      • com.github.tonivade.purefun.instances.ValidationFunctor<E>
    • com.github.tonivade.purefun.typeclasses.MonoidInvariant
  • com.github.tonivade.purefun.monad.IOConnection
  • com.github.tonivade.purefun.instances.IOInstances
  • java.lang.Iterable<T>
  • com.github.tonivade.purefun.Kind<F,A>
    • com.github.tonivade.purefun.type.ConstOf<T,A>
    • com.github.tonivade.purefun.effect.EIOOf<E,A>
    • com.github.tonivade.purefun.free.EitherKOf<F,G,T>
    • com.github.tonivade.purefun.type.EitherOf<L,R>
      • com.github.tonivade.purefun.type.Either<L,R> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.transformer.EitherTOf<F,L,R>
      • com.github.tonivade.purefun.transformer.EitherT<F,L,R> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.type.EvalOf<A>
      • com.github.tonivade.purefun.type.Eval<A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.free.FreeApOf<F,A>
      • com.github.tonivade.purefun.free.FreeAp<F,A> (also extends com.github.tonivade.purefun.core.Applicable<F,A>)
    • com.github.tonivade.purefun.free.FreeOf<F,A>
      • com.github.tonivade.purefun.free.Free<F,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.core.Function1Of<A,R>
      • com.github.tonivade.purefun.core.Function1<A,R> (also extends com.github.tonivade.purefun.core.Recoverable)
        • com.github.tonivade.purefun.core.Operator1<T>
    • com.github.tonivade.purefun.concurrent.FutureOf<T>
      • com.github.tonivade.purefun.concurrent.Future<T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.type.IdOf<T>
    • com.github.tonivade.purefun.monad.IOOf<T>
      • com.github.tonivade.purefun.monad.IO<T> (also extends com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.core.Recoverable)
    • com.github.tonivade.purefun.transformer.KleisliOf<F,Z,A>
      • com.github.tonivade.purefun.transformer.Kleisli<F,Z,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.effect.ManagedOf<R,E,A>
    • com.github.tonivade.purefun.core.Mappable<F,A>
      • com.github.tonivade.purefun.core.Applicable<F,A>
        • com.github.tonivade.purefun.core.Effect<F,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
          • com.github.tonivade.purefun.monad.IO<T> (also extends com.github.tonivade.purefun.monad.IOOf<T>, com.github.tonivade.purefun.core.Recoverable)
          • com.github.tonivade.purefun.effect.PureIO<R,E,A> (also extends com.github.tonivade.purefun.effect.PureIOOf<R,E,A>)
        • com.github.tonivade.purefun.type.Either<L,R> (also extends com.github.tonivade.purefun.core.Bindable<F,A>, com.github.tonivade.purefun.type.EitherOf<L,R>)
        • com.github.tonivade.purefun.free.FreeAp<F,A> (also extends com.github.tonivade.purefun.free.FreeApOf<F,A>)
        • com.github.tonivade.purefun.type.Option<T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>, com.github.tonivade.purefun.type.OptionOf<T>)
        • com.github.tonivade.purefun.concurrent.Promise<T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>, com.github.tonivade.purefun.concurrent.PromiseOf<T>)
        • com.github.tonivade.purefun.type.Try<T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>, com.github.tonivade.purefun.type.TryOf<T>)
      • com.github.tonivade.purefun.core.Bindable<F,A>
        • com.github.tonivade.purefun.core.Effect<F,A> (also extends com.github.tonivade.purefun.core.Applicable<F,A>)
          • com.github.tonivade.purefun.monad.IO<T> (also extends com.github.tonivade.purefun.monad.IOOf<T>, com.github.tonivade.purefun.core.Recoverable)
          • com.github.tonivade.purefun.effect.PureIO<R,E,A> (also extends com.github.tonivade.purefun.effect.PureIOOf<R,E,A>)
        • com.github.tonivade.purefun.type.Either<L,R> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.type.EitherOf<L,R>)
        • com.github.tonivade.purefun.transformer.EitherT<F,L,R> (also extends com.github.tonivade.purefun.transformer.EitherTOf<F,L,R>)
        • com.github.tonivade.purefun.type.Eval<A> (also extends com.github.tonivade.purefun.type.EvalOf<A>)
        • com.github.tonivade.purefun.free.Free<F,A> (also extends com.github.tonivade.purefun.free.FreeOf<F,A>)
        • com.github.tonivade.purefun.concurrent.Future<T> (also extends com.github.tonivade.purefun.concurrent.FutureOf<T>)
        • com.github.tonivade.purefun.transformer.Kleisli<F,Z,A> (also extends com.github.tonivade.purefun.transformer.KleisliOf<F,Z,A>)
        • com.github.tonivade.purefun.type.Option<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.type.OptionOf<T>)
        • com.github.tonivade.purefun.transformer.OptionT<F,T> (also extends com.github.tonivade.purefun.transformer.OptionTOf<F,T>)
        • com.github.tonivade.purefun.concurrent.Promise<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.concurrent.PromiseOf<T>)
        • com.github.tonivade.purefun.stream.PureStream<F,T> (also extends com.github.tonivade.purefun.stream.PureStreamOf<F,T>)
        • com.github.tonivade.purefun.monad.Reader<R,A> (also extends com.github.tonivade.purefun.monad.ReaderOf<R,A>)
        • com.github.tonivade.purefun.data.Sequence<E> (also extends java.lang.Iterable<T>, com.github.tonivade.purefun.data.SequenceOf<E>)
        • com.github.tonivade.purefun.monad.State<S,A> (also extends com.github.tonivade.purefun.monad.StateOf<S,A>)
        • com.github.tonivade.purefun.transformer.StateT<F,S,A> (also extends com.github.tonivade.purefun.transformer.StateTOf<F,S,A>)
        • com.github.tonivade.purefun.core.Trampoline<T> (also extends com.github.tonivade.purefun.core.TrampolineOf<T>)
        • com.github.tonivade.purefun.type.Try<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.type.TryOf<T>)
        • com.github.tonivade.purefun.type.Validation<E,T> (also extends com.github.tonivade.purefun.type.ValidationOf<E,T>)
        • com.github.tonivade.purefun.monad.Writer<L,A> (also extends com.github.tonivade.purefun.monad.WriterOf<L,A>)
        • com.github.tonivade.purefun.transformer.WriterT<F,L,A> (also extends com.github.tonivade.purefun.transformer.WriterTOf<F,L,A>)
    • com.github.tonivade.purefun.typeclasses.MonoidOf<T>
      • com.github.tonivade.purefun.typeclasses.Monoid<T> (also extends com.github.tonivade.purefun.typeclasses.Semigroup<T>)
    • com.github.tonivade.purefun.typeclasses.Nested<F,G>
    • com.github.tonivade.purefun.type.OptionOf<T>
      • com.github.tonivade.purefun.type.Option<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.transformer.OptionTOf<F,T>
      • com.github.tonivade.purefun.transformer.OptionT<F,T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.core.ProducerOf<T>
      • com.github.tonivade.purefun.core.Producer<T> (also extends com.github.tonivade.purefun.core.Recoverable)
    • com.github.tonivade.purefun.concurrent.PromiseOf<T>
      • com.github.tonivade.purefun.concurrent.Promise<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.effect.PureIOOf<R,E,A>
      • com.github.tonivade.purefun.effect.PureIO<R,E,A> (also extends com.github.tonivade.purefun.core.Effect<F,A>)
    • com.github.tonivade.purefun.stream.PureStreamOf<F,T>
      • com.github.tonivade.purefun.stream.PureStream<F,T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.monad.ReaderOf<R,A>
      • com.github.tonivade.purefun.monad.Reader<R,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.typeclasses.ResourceOf<F,T>
    • com.github.tonivade.purefun.effect.RIOOf<R,A>
    • com.github.tonivade.purefun.typeclasses.ScheduleOf<F,A,B>
      • com.github.tonivade.purefun.typeclasses.Schedule<F,A,B>
    • com.github.tonivade.purefun.data.SequenceOf<E>
    • com.github.tonivade.purefun.monad.StateOf<S,A>
      • com.github.tonivade.purefun.monad.State<S,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.transformer.StateTOf<F,S,A>
      • com.github.tonivade.purefun.transformer.StateT<F,S,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.effect.TaskOf<A>
    • com.github.tonivade.purefun.core.TrampolineOf<T>
      • com.github.tonivade.purefun.core.Trampoline<T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.type.TryOf<T>
      • com.github.tonivade.purefun.type.Try<T> (also extends com.github.tonivade.purefun.core.Applicable<F,A>, com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.core.Tuple1Of<A>
    • com.github.tonivade.purefun.core.Tuple2Of<A,B>
    • com.github.tonivade.purefun.effect.UIOOf<A>
    • com.github.tonivade.purefun.effect.URIOOf<R,A>
    • com.github.tonivade.purefun.type.ValidationOf<E,T>
      • com.github.tonivade.purefun.type.Validation<E,T> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.monad.WriterOf<L,A>
      • com.github.tonivade.purefun.monad.Writer<L,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
    • com.github.tonivade.purefun.transformer.WriterTOf<F,L,A>
      • com.github.tonivade.purefun.transformer.WriterT<F,L,A> (also extends com.github.tonivade.purefun.core.Bindable<F,A>)
  • com.github.tonivade.purefun.instances.KleisliInstances
  • com.github.tonivade.purefun.instances.OptionInstances
  • com.github.tonivade.purefun.instances.OptionTInstances
  • com.github.tonivade.purefun.typeclasses.Parallel<F,G>
  • com.github.tonivade.purefun.core.PartialFunction1<A,R>
  • com.github.tonivade.purefun.core.PartialFunction2<A,B,R>
  • com.github.tonivade.purefun.core.PartialFunction3<A,B,C,R>
  • com.github.tonivade.purefun.core.Precondition
  • com.github.tonivade.purefun.instances.ProducerInstances
  • com.github.tonivade.purefun.instances.PromiseExecutorHolder
    • com.github.tonivade.purefun.instances.PromisePure (also extends com.github.tonivade.purefun.typeclasses.Applicative<F>)
  • com.github.tonivade.purefun.instances.PromiseInstances
  • com.github.tonivade.purefun.concurrent.Propagate
  • com.github.tonivade.purefun.effect.util.PureClock
  • com.github.tonivade.purefun.effect.util.PureClock.Service<R>
  • com.github.tonivade.purefun.effect.util.PureConsole
  • com.github.tonivade.purefun.effect.util.PureConsole.Service<R>
  • com.github.tonivade.purefun.effect.PureIOConnection
  • com.github.tonivade.purefun.instances.PureIOInstances
  • com.github.tonivade.purefun.effect.util.PureRandom
  • com.github.tonivade.purefun.effect.util.PureRandom.Service<R>
  • com.github.tonivade.purefun.stream.PureStream.Of<F>
  • com.github.tonivade.purefun.instances.PureStreamInstances
  • com.github.tonivade.purefun.instances.ReaderInstances
  • com.github.tonivade.purefun.core.Recoverable
    • com.github.tonivade.purefun.core.CheckedRunnable
    • com.github.tonivade.purefun.core.Consumer1<A>
    • com.github.tonivade.purefun.core.Consumer2<A,B>
    • com.github.tonivade.purefun.core.Consumer3<A,B,C>
    • com.github.tonivade.purefun.core.Consumer4<A,B,C,D>
    • com.github.tonivade.purefun.core.Consumer5<A,B,C,D,E>
    • com.github.tonivade.purefun.core.Function1<A,R> (also extends com.github.tonivade.purefun.core.Function1Of<A,R>)
      • com.github.tonivade.purefun.core.Operator1<T>
    • com.github.tonivade.purefun.core.Function2<A,B,R>
      • com.github.tonivade.purefun.core.Operator2<T>
    • com.github.tonivade.purefun.core.Function3<A,B,C,R>
      • com.github.tonivade.purefun.core.Operator3<T>
    • com.github.tonivade.purefun.core.Function4<A,B,C,D,R>
      • com.github.tonivade.purefun.core.Operator4<T>
    • com.github.tonivade.purefun.core.Function5<A,B,C,D,E,R>
      • com.github.tonivade.purefun.core.Operator5<T>
    • com.github.tonivade.purefun.monad.IO<T> (also extends com.github.tonivade.purefun.core.Effect<F,A>, com.github.tonivade.purefun.monad.IOOf<T>)
    • com.github.tonivade.purefun.core.Matcher1<A>
    • com.github.tonivade.purefun.core.Matcher2<A,B>
    • com.github.tonivade.purefun.core.Matcher3<A,B,C>
    • com.github.tonivade.purefun.core.Producer<T> (also extends com.github.tonivade.purefun.core.ProducerOf<T>)
  • com.github.tonivade.purefun.typeclasses.Reference<F,A>
  • com.github.tonivade.purefun.instances.RIOInstances
  • com.github.tonivade.purefun.typeclasses.Runtime<F>
  • com.github.tonivade.purefun.typeclasses.Schedule.Extract<A,S,B>
  • com.github.tonivade.purefun.typeclasses.Schedule.Of<F>
  • com.github.tonivade.purefun.typeclasses.Schedule.Update<F,S,A>
  • com.github.tonivade.purefun.instances.ScheduleInstances
  • com.github.tonivade.purefun.typeclasses.Semigroup<T>
    • com.github.tonivade.purefun.typeclasses.Monoid<T> (also extends com.github.tonivade.purefun.typeclasses.MonoidOf<T>)
    • com.github.tonivade.purefun.instances.SequenceSemigroup<T>
      • com.github.tonivade.purefun.instances.SequenceMonoid<T> (also extends com.github.tonivade.purefun.typeclasses.Monoid<T>)
  • com.github.tonivade.purefun.typeclasses.Semigroupal<F>
  • com.github.tonivade.purefun.typeclasses.SemigroupK<F>
  • com.github.tonivade.purefun.instances.SequenceInstances
  • com.github.tonivade.purefun.instances.StateInstances
  • com.github.tonivade.purefun.instances.StateTInstances
  • com.github.tonivade.purefun.instances.TaskInstances
  • com.github.tonivade.purefun.typeclasses.Timer<F>
    • com.github.tonivade.purefun.instances.EitherTTimer<F>
    • com.github.tonivade.purefun.typeclasses.MonadDefer<F> (also extends com.github.tonivade.purefun.typeclasses.Bracket<F,E>, com.github.tonivade.purefun.typeclasses.Defer<F>, com.github.tonivade.purefun.typeclasses.MonadThrow<F>)
      • com.github.tonivade.purefun.typeclasses.Async<F>
        • com.github.tonivade.purefun.typeclasses.Concurrent<F>
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.instances.EIOAsync)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.instances.IOAsync)
          • com.github.tonivade.purefun.instances.PureIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.PureIOAsync<R>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.RIOAsync<R>)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.instances.TaskAsync)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.instances.UIOAsync)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.instances.URIOAsync<R>)
        • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.instances.EIOMonadDefer)
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.instances.IOMonadDefer)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.instances.PureIOMonadDefer<R>)
        • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.instances.RIOMonadDefer<R>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.instances.TaskMonadDefer)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.instances.UIOMonadDefer)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
        • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.instances.URIOMonadDefer<R>)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.EIOMonadDefer (also extends com.github.tonivade.purefun.instances.EIOBracket<E>, com.github.tonivade.purefun.instances.EIODefer<E>)
        • com.github.tonivade.purefun.instances.EIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.EIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.EitherTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.EitherTBracket<F,E>, com.github.tonivade.purefun.instances.EitherTDefer<F,E>, com.github.tonivade.purefun.instances.EitherTMonadThrowFromMonadThrow<F>, com.github.tonivade.purefun.instances.EitherTTimer<F>)
      • com.github.tonivade.purefun.instances.IOMonadDefer (also extends com.github.tonivade.purefun.instances.IOBracket, com.github.tonivade.purefun.instances.IODefer)
        • com.github.tonivade.purefun.instances.IOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.IOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.OptionTMonadDefer<F> (also extends com.github.tonivade.purefun.instances.OptionTBracket<F>, com.github.tonivade.purefun.instances.OptionTDefer<F>, com.github.tonivade.purefun.instances.OptionTMonadThrow<F>)
      • com.github.tonivade.purefun.instances.PureIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.PureIOBracket<R,E>, com.github.tonivade.purefun.instances.PureIODefer<R,E>)
        • com.github.tonivade.purefun.instances.PureIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
      • com.github.tonivade.purefun.instances.RIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.RIOBracket<R>, com.github.tonivade.purefun.instances.RIODefer<R>)
        • com.github.tonivade.purefun.instances.RIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.RIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.TaskMonadDefer (also extends com.github.tonivade.purefun.instances.TaskBracket, com.github.tonivade.purefun.instances.TaskDefer)
        • com.github.tonivade.purefun.instances.TaskAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.TaskConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.UIOMonadDefer (also extends com.github.tonivade.purefun.instances.UIOBracket, com.github.tonivade.purefun.instances.UIODefer)
        • com.github.tonivade.purefun.instances.UIOAsync (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.UIOConcurrent (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
      • com.github.tonivade.purefun.instances.URIOMonadDefer<R> (also extends com.github.tonivade.purefun.instances.URIOBracket<R>, com.github.tonivade.purefun.instances.URIODefer<R>)
        • com.github.tonivade.purefun.instances.URIOAsync<R> (also extends com.github.tonivade.purefun.typeclasses.Async<F>)
          • com.github.tonivade.purefun.instances.URIOConcurrent<R> (also extends com.github.tonivade.purefun.typeclasses.Concurrent<F>)
  • com.github.tonivade.purefun.instances.TrampolineInstances
  • com.github.tonivade.purefun.instances.TryInstances
  • com.github.tonivade.purefun.core.Tuple
  • com.github.tonivade.purefun.instances.TupleInstances
  • com.github.tonivade.purefun.typeclasses.TupleK<F>
  • com.github.tonivade.purefun.instances.UIOInstances
  • com.github.tonivade.purefun.instances.URIOInstances
  • com.github.tonivade.purefun.instances.ValidationInstances
  • com.github.tonivade.purefun.core.Validator<E,T>
  • com.github.tonivade.purefun.instances.WriterInstances
  • com.github.tonivade.purefun.instances.WriterTInstances

Annotation Interface Hierarchy

Record Class Hierarchy