;; Is it possible to do: (define sob-default-comparator (make-parameter (make-default-comparator))) (set-sharp-read-syntax! 'set (lambda (port) (let ((list-of-elems (read))) `(quote ,(list->set (sob-default-comparator) list-of-elems))))) (parameterize ((sob-default-comparator (make-eq-comparator))) #!set((1 2) (1 2))) ;; What I expect ;; ;; => #!set((1 2) (1 2)) ;; What I get ;; ;; => #!set((1 2))