People who know some Scheme are often surprised to see square brackets
in PLT Scheme programs. They have the same meaning as regular
parentheses in Scheme. They provide a bit of visual distinction
and are often used by PLT Scheme programmers to differentiate clauses
in conditional constructs. For example, you'll often see cond clauses
written as below.
(define (display-typex)
(cond
[(number?x) (display"It's a number!")]
[(string?x) (display"It's a string!")]
[else (display"It's something else!")]))