pub type EnvTaskFn<M> = fn(&Environment) -> Pin<Box<dyn Future<Output = Result<M, EffectError>> + Send>>;