the template language lacks a number of things: need elsif support need to figure out if we want floating point numbers as well as integers make sure we can deal effectively with variables that have the same name as keywords need the ability to pass arguments to an included template need a way to chain filters, like [%= link | url | html %], so we can ensure correct encoding of urls in html need an object type, so you can call into arbitrary c functionality from templates should arrays have a method that returns length - 1, for easier looping? it would be nice if [% and %] were not required around every directive, for example, in template toolkit you can do things like this: [% for elt in elements; print elt; end %] unfortunately, adding that ability requires a pretty big reworking of the parser. correctness issues: include command needs to guard against recursion