(module contract mzscheme (require (lib "contract.ss") (file "base.ss") ) (provide (all-defined) ) (define (symbol-or-false? value) (or (symbol? value) (eq? value #f))) (define (string-or-false? value) (or (string? value) (eq? value #f))) (define (number-or-false? value) (or (number? value) (eq? value #f))) (define (integer-or-false? value) (or (integer? value) (eq? value #f))) (define (arity/c num-args) (lambda (proc) (and (procedure? proc) (procedure-arity-includes? proc num-args)))) )