ionize does not quote operators in sexps, but write does. The former is preferable.
**$ (ionize (quote (+ 1 2)))
(
+
1
2
)
$ (write (quote (+ 1 2)))
('+' 1 2)$**
The implementation of ionize delegates to IonWriter, which tracks quoting context, but write does its own thing and loses that context. I'm not exactly sure how to track that flag.
Similarly, display special cases string and symbol but otherwise delegates to write, so fixing the latter will also fix the former.