A simplified co implementation only working with thunk