/-
Copyright (c) 2021 Mac Malone. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Mac Malone
-/
namespace Lake

instance : Monad Task where
  map := Task.map
  pure := Task.pure
  bind := Task.bind

abbrev ETask ε := ExceptT ε Task
abbrev OptionTask := OptionT Task

def BaseIOTask := Task
instance : Monad BaseIOTask := inferInstanceAs <| Monad Task

abbrev EIOTask ε := ExceptT ε BaseIOTask
abbrev OptionIOTask := OptionT BaseIOTask
