The field of programming languages has recently experienced a renaissance, especially in the field of untyped scripting languages. But when scripts written in untyped languages grow into large programs, they may also become difficult to maintain. To improve the maintainability of programs in untyped languages, I propose porting portions into typed sister languages. To demonstrate the feasibility of this approach, I have developed Typed Scheme, a typed variant of PLT Scheme. Typed Scheme provides smooth and sound interoperability with untyped PLT Scheme; it also features a novel type system that supports idiomatic Scheme programming, so that the porting process is relatively straightforward. I have validated the effectiveness of Typed Scheme by porting thousands of lines of untyped PLT Scheme code. iii Why, anybody can have a brain. That’s a very mediocre commodity. Every pusillanimous creature that crawls on the Earth or slinks through slimy seas has a brain. Back where I come from, we have universities, seats of great learning, where men go to become great thinkers. And when they come out, they think deep thoughts and with no more brains than you have. But they have one thing you haven’t got: a diploma.