         self.minimizer = minimizer
     }
     
-    // Add a module to this fuzzer. Can only be called before the fuzzer is initialized.
+    /// Add a module to this fuzzer. Can only be called before the fuzzer is initialized.
     public func addModule(_ module: Module) {
         precondition(!isInitialized)
         precondition(modules[module.name] == nil)
         modules[module.name] = module
     }
     
-    // Shut down this fuzzer.
+    /// Shut down this fuzzer.
     public func shutdown() {
         logger.info("Fuzzer \(self.id) shutting down")
         dispatchEvent(self.events.Shutdown)
     }
 
-    // Start the fuzzer and run for the specified number of iterations.
-    //
-    // This will also initialize the fuzzer if necessary and run a number of startup tests.
-    // Use -1 for maxIterations to run indefinitely.
+    /// Start the fuzzer and run for the specified number of iterations.
+    ///
+    /// This will also initialize the fuzzer if necessary and run startup tests.
+    /// Use -1 for maxIterations to run indefinitely.
     public func start(runFor maxIterations: Int) {
         self.maxIterations = maxIterations
         

        }
    }

    // Construct a non-trivial program for execution time measurement.
    private func makeComplexProgram() -> Program {
        let b = makeBuilder()
        

        }
    }
    
    /// Initialize this fuzzer.
    ///
    /// This will initialize all components and modules, causing event listeners to be registerd,
    /// timers to be scheduled, communication channels to be established, etc. After initialization,
    /// task may already be scheduled on this fuzzer's dispatch queue.
    public func initialize() {
        precondition(!isInitialized)
        
