Runtime contractual testing à la Clojure/Eiffel