in _map we have ```js if (aff.tag === Aff.Pure.tag) { return Aff.Pure(f(aff._1)); } ``` same could be done in apply: ```js if (effF.tag === Aff.Pure.tag) { if (eff.tag === Aff.Pure.tag) { return new Aff.Pure(effF._0(eff._0)); } return new Aff.Map(effF._0, eff); } ``` and in bind: ```js if (eff.tag == PURE) { return f(eff._0); } ```