Goal of this should be to archive close to Eff performance while being stacksafe. then we should check performance of old and new one. if it's too bad look at https://github.com/purescript/purescript/issues/2577