boost::fusion::invoke() seems to cause some problems now, so I've added a workaround for codegen_apply().