Nominal abstract syntax, as pioneered by the `FreshML' series of metalanguages, provides first-order tools for the representation and manipulation of syntax involving bound names, binding operations and alpha-equivalence. Fresh O'Caml fuses nominal abstract syntax with the full Objective Caml language to yield a functional programming language with powerful facilities for representing and manipulating syntax. In this paper, we first provide an examples-driven overview of the language and its functionality. Then we proceed to comment on some of the difficult issues involved in implementing nominal abstract syntax and explain how they have been addressed in the latest version of the compiler.