psyntax で and を if に展開せずバックエンドに渡す方法
1. (and (core-macro . and)) を builder-script の psyntax-system-macros に追加。
(and (macro . and)) を削除。
2. builder.ss に追加
(define-syntax build-and (syntax-rules () ((_ ae exp*) `(and . ,exp*))))
export に build-and を追加。
3. expander.ss に追加
((and) and-transformer)
と
(define and-transformer (lambda (e r mr) (syntax-match e () ((_ e* ...) (build-and no-source (chi-expr* e* r mr))))))