I recently wrote an article for Embedded.com about how Loci improves on C++ templates to allow them to be used across API boundaries. The article is a multi-part series: Part 1: Templates across API boundaries: Powerful but problematic Part 2: Templates across API boundaries: Implementing template generators Part 3 (not available yet)