Reproducible Code: https://gist.github.com/patrickgombert/1bcb8a051aeb3e82d855
When using a volatile-mutable field in deftype, compilation fails if the field is set! in a method call that uses both try..finally and returns itself from the method call. Leaving out either the try..finally or returning itself from the method causes compilation to succeed.
Expected behavior: set! should set the volatile-mutable variable and compilation should succeed.
clojure 1.6.0, clojure 1.7.0-beta1