(PROCLAIM '(OPTIMIZE SPEED SAFETY DEBUG))
(DEFTYPE |%Number| () 'NUMBER)

(DEFTYPE |%Symbol| () 'SYMBOL)

(DEFTYPE |%String| () 'STRING)

(DEFTYPE |%List| () 'LIST)

(DEFTYPE |%Thing| () 'T)

(DEFTYPE |%Pair| () 'CONS)

(DEFTYPE |%Maybe| (|a|) (LIST 'OR 'NULL |a|))

(DEFTYPE |%Form| () '(OR |%Number| |%Symbol| |%String| CONS))

(DEFTYPE |%Env| () '|%List|)

(DEFTYPE |%Mode| () '(OR |%Symbol| |%String| |%List|))

(DEFTYPE |%Code| () '|%Form|)

(DEFTYPE |%Triple| () '(CONS |%Code| (CONS |%Mode| (CONS |%Env| NULL))))

(DEFTYPE |%Signature| () '(OR |%Symbol| CONS))

(DEFTYPE |%Modemap| () '|%List|)

