public function ap(FantasyLand\Apply $b) { return $this->bind(function ($f) use($b) { return $b->map($f); }); }