anchor.diff:          // The Flanger is disconnected so redirect the Generator output.
           print("  Disconnecting generator");
           generator.output.disconnect(0);
  -        if (highPass.enabled) {
  +        if (highPass != null) {
             print("  Connecting generator to highPass");
             generator.output.connectNode(highPass.input);
           }
  
positive.code:     }
    }
    
    set lowPassFrequency(double percent) => lowPass.frequencyCutoff = percent;
    double get lowPassFrequency => lowPass.frequencyCutoff;
  
    set lowPassSweep(double df) => lowPass.cutoffSweep = df;
    double get lowPassSweep => lowPass.cutoffSweep;
  
    set lowPassResonance(double q) => lowPass.qResonance = q;
    double get lowPassResonance => lowPass.qResonance;
  
    // -------------------------------------------------------------
    // High pass
    // -------------------------------------------------------------
    bool toggleHighPass() {
      connectHighPass(!highPass.enabled);
      return highPass.enabled;
    }
  
    bool get highPassEnabled => highPass.enabled;
  
    void connectHighPass(bool connect) {
      // To connect highPass we need to "look" backward and forwards.
      // We look backwards until we reach the Generator and we look
      // forward until we reach the Envelope.
      if (connect && !highPass.enabled) {
        highPass.enabled = true;
        print("--Connecting highPass");
        
        if (lowPass.enabled) {
          print("  Disconnecting lowPass");
          // Disconnect lowPass from whatever it is currently connected.
          lowPass.output.disconnect(0);
  
negative.code:     else
        connectFlanger();
      
      return _flangerConnected;
    }
    
    bool get flangerEnabled => _flangerConnected;
  
    void enableFlanger() {
      connectFlanger();
    }
    
    void disableFlanger() {
      disconnectFlanger();
    }
    
    void connectFlanger() {
  