Typed car and cdr for generic programming Matthew Roberts Macquarie University Results relating the pattern calculus to the constructor calculus have shown how statically typed generic programming can be achieved with lisp-like primitive operations. We demonstrate how a small extension to existing functional languages can incorporate this capability and we show how to keep it safe with static typing. We will briefly summarise one system that gives safe but overly general types and then describe in detail a novel one that gives tighter types to the functions in question.