interface InternalTask exposes [Task, fromEffect, toEffect, succeed, fail] imports [Effect.{ Effect }] Task ok err fx := Effect (Result ok err) succeed : ok -> Task ok * * succeed = \ok -> @Task (Effect.always (Ok ok)) fail : err -> Task * err * fail = \err -> @Task (Effect.always (Err err)) fromEffect : Effect (Result ok err) -> Task ok err * fromEffect = \effect -> @Task effect toEffect : Task ok err * -> Effect (Result ok err) toEffect = \@Task effect -> effect