Call fn() with the right "this" + more tests to show failing case