Tom Van Cutsem (2013-08-27T10:37:12.000Z)
domenic at domenicdenicola.com (2013-08-29T23:28:22.498Z)
(Pardon the late reply. Catching up.) I'd also go with option 1 (accept that [[Invoke]] changes visible order of side-effects). Option 2 pollutes the simple interface of [[Invoke]] for compatibility with edge-cases, which, as MarkM points out, are not fully web-compatible anyway. The symmetric operation, i.e. Reflect.invoke(obj, "m", f, args) would also make little sense.