error-handling behavior for resolve_effect; add fail_effect