fd.write('#include "xbt/ex.h"\n')
fd.write('#include <functional>\n')
fd.write('#include <simgrid/simix.hpp>\n')
+ fd.write('#include <xbt/log.h>\n')
fd.write("/** @cond */ // Please Doxygen, don't look at this\n")
fd.write('''
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix);
+
template<class R, class... T>
inline static R simcall(e_smx_simcall_t call, T const&... t)
{