a modern c for metaprogramming