stest/unstrument is called at unexpected time when used in finally block

Description

From https://gist.github.com/borkdude/a7c38295f19a0dd2a68a7da21d634661

These tests pass in Clojure, but not in ClojureScript.
Probably due to side effects at macro expansion time.
Mike Fikes noted in #cljs-dev Slack that the order of analyzing the finally block is different in Clojure than in ClojureScript.

I ran into this issue when implementing with-instrumentation and with-unstrumentation macros for Clojure and ClojureScript. They worked in Clojure as expected, but in ClojureScript the above issue was manifested.

Environment

test with: browser / node / nashorn

Assignee

Unassigned

Reporter

Michiel Borkent