return Control_Monad_Eff.runPure(Data_Array_ST.runSTArray(function __do() { var _53 = Data_Array_ST.emptySTArray(); var _52 = Control_Monad_ST.newSTRef(b)(); (function () { while (!(function __do() { var _51 = Control_Monad_ST.readSTRef(_52)(); return (function () { var _2297 = f(_51); if (_2297 instanceof Data_Maybe.Nothing) { return Prelude["return"](Control_Monad_Eff.monadEff)(true); }; if (_2297 instanceof Data_Maybe.Just) { return function __do() { Data_Array_ST.pushSTArray(_53)(_2297.value0.value0)(); Control_Monad_ST.writeSTRef(_52)(_2297.value0.value1)(); return false; }; }; throw new Error("Failed pattern match"); })()(); })()) { }; return {}; })(); return _53; }));
return function __do() { Data_Array_ST.pushSTArray(_53)(_2297.value0.value0)(); Control_Monad_ST.writeSTRef(_52)(_2297.value0.value1)(); return false; };