pub trait IntoEnvIO { type Out; type IntoEnv: EnvIO<Out = Self::Out>; // Required method fn effect(self) -> Self::IntoEnv; }