Well, we should fix both of those long term, but the current code is fine.
On Apr 24, 2013 8:31 PM, "Eric Dobson" <notifications@github.com> wrote:

> In collects/typed-racket/typecheck/tc-lambda-unit.rkt:
>
> > -
> > -;; syntax-list[id] block -> lam-result
> > -(define (tc/lambda-clause args body)
> > +;; formals syntax listof[Type/c] tc-result option[Type/c] option[(cons Type/c symbol)] -> lam-result
> > +(define (tc/lambda-clause/check formals body arg-tys ret-ty rest-ty drest)
> > +  (check-clause (formals-positional formals) (formals-rest formals) body arg-tys rest-ty drest ret-ty))
> > +
> > +(define (tc/opt-lambda-clause arg-list body aux-table flag-table)
> > +  (let* ([arg-types (for/list ([a arg-list])
> > +                      (get-type a #:default (lambda ()
> > +                                              (define id (dict-ref aux-table a #f))
> > +                                              (if id
> > +                                                  (get-type id #:default Univ)
> > +                                                  Univ))))]
> > +         [new-arg-types
> > +          (if (= 0 (dict-count flag-table))
>
> Actually there is no hash-empty? either, so as far as I can tell this
> would be the most idiomatic way to write it. I could change '(= 0' to
> '(zero?' though.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/plt/racket/pull/276/files#r3950661>
> .
>