Using CSS to auto-insert [square brackets] for optional arguments is going to cause problems for syntax definitions. From SRFI 51: <code> (arg-ands [common <caller>] ([<caller>] <variable> <expr> ...) ...) </code> Hence I think we should continue to explicitly write square brackets in the HTML. Also from SRFI 118 (note the nested square brackets): <pre>(<b>string-replace!</b> <var>dst</var> <var>dst-start</var> <var>dst-end</var> <var>src</var> [<var>src-start</var> [<var>src-end</var>]]) These might be acceptably replaced with non-nested ones. I.e. replace [src-start [src-end]] with [src-start] [src-end]