adapting some of the tests to fit new suspend API
implementing `suspend.resume()`
preserve `this` context