Yes I like parentheses too
. I remember Interlisp having square brackets as "meta parentheses" so as to avoid strings of stopping parentheses; the two forms interoperated so that ']' closed all '(' to match prior balancing '[', and likewise ')' closed all '[' to match prior balancing '('.
One could then write for example the following

One could then write for example the following
Code Select
(define (factorial n)
[if (zero? n)
1
(* n (factorial (- n 1 ] )
Perhaps it's clearer? But the reader has to know the syntax in any case.