Enjoy template metaprogramming