Module consists of mixed (declare ...) forms and expressions. Groups of (declare ...) forms become (letrec ...)s surrounding later expressions and (declare ...) groups. The (declare (fn-name . arglist) forms...) syntax is supported.