C flat a compiler for a C like language with ad-hoc polymorphism.