This has no chances of going mainstream, but this is a thoughtful and careful exploration of a C extension. Type system [1] is nicely done (though I think it looks a bit clunky in application).<p>Tangentially related - once you worked with C long enough, the lack of of "templates" becomes pretty obvious. If you need two functions that do the same thing for two different input types, you have two options - wrap it into a multiline define or use one generic function and use a callback to deal with type differences, a'la qsort(). Neither is exactly ideal.<p>Does anyone know of C dialects with some form of template support?<p>[1] <a href="http://plg.uwaterloo.ca/~cforall/typesystem.html" rel="nofollow">http://plg.uwaterloo.ca/~cforall/typesystem.html</a>