This document discusses tail call elimination in the OpenSmalltalk programming language. It begins by defining what a tail call is and providing an example in Smalltalk. It then describes how tail calls are implemented in the stack interpreter and Cog VM without and with tail call elimination. The document finds that tail call elimination provides significant performance improvements for tail recursive functions and more modest gains for general applications. Future work includes better supporting polymorphic calls and reducing redundant code generation in the Cog VM.