TheconnectionbetweenCtemplatemetaprogrammingandfunctionalprogramming