Я хочу создать defj clojure, который реализует Hashmaps Clojure. Я понимаю, что могу реализовать интерфейсы Clojure, чтобы сделать свой deftype Hashable и Sequable, но что мне нужно включить, чтобы мой deftype хорошо играл с Clojure STM, чтобы я мог делать:
(def a (ref (MyType.)))
и затем выполнять операции досинхронизации, такие как "против" и "против", безопасным способом STM?