Hi! Picking up an old thread. What do people think about the attached patch? It preserves arity checking for case-lambdas defined in the same compilation unit. Case-lambdas are converted to nullary procedures in the last minute, before compiling or memoizing. Calling one of these procedures with arguments will still produce an arity-check warning; calling one without arguments will not. In both cases a wrong-number-of-args exception is thrown at runtime (either by the normal argument count check or via the explicit throw in the body). I think allowing lambda-body to be #f is the right way to go because it precludes inlining of ((case-lambda)). I'll push soon if there are no comments. Andy