(class ..clauses) clauses: zero or more forms returns a class
Defines a class.
class form is evaluated, a new class is defined, allocated and returned.
This can be an expensive operation, so it shouldn't be performed in a loop. Use
let-class for a locally-scoped class definition.
#n may appear in place of a class clause, in which case it's silently ignored.
splice appears in place of a class clause, it's processed as it would
be during macro expansion.
class performs an "auto-gensym" pass over its arguments, similar to
backquote. This can be useful for defining private fields, private
methods, and so on.