A powerful macro system makes it possible to implement problem-specific optimisations, as well as zero-cost abstractions. I will present a macro system for OCaml designed by Jeremy Yallop and Leo White that allows for advanced metaprogramming and is seamlessly integrated in OCaml’s module system. Olivier Nicole is graduating in Computer Science at ENSTA ParisTech, France, and is currently doing an internship at OCaml Labs. This report represents his internship project with OCaml Labs between September 2016 - February 2017.