template meta programming examples.