anchor.diff:              return reachedState
           })
   
  -    member __.Metrics = makeMetrics instantaneousFrameRate.Value frameStreamListener.Metrics
  +    member __.GetMetrics () = makeMetrics instantaneousFrameRate.Value frameStreamListener.Metrics
   
       // Settings
  -
  -    /// The most-recently requested settings; may not match currently applied settings.
  -    member __.RequestedAcousticSettings = lastRequestedAcoustingSettings.Value
  -
  -    member __.RequestedAcousticSettingsResult = requestedAcousticSettingsResult.Value
   
       /// Send salinity to the sonar; it may take a moment to appear in the frame header.
       member __.SetSalinity (salinity : Salinity) =
  
positive.code:                                     else
                                          setSalinity <- fun _ -> ()
  
      /// The current acoustic settings as applied by the sonar.
      member __.CurrentAcousticSettings = currentAcousticSettings.Value
  
      /// Stream of attempted acoustic settings returned from the sonar, applied, constrained, or invalid.
      //member s.AttemptedAcousticSettings = attemptedAcousticSettingsSubject :> ISubject<AcousticSettingsApplied>
  
      /// Requests the supplied settings; returns a copy with the cookie attached to the request.
      member __.RequestAcousticSettings settings : RequestedSettings = requestAcousticSettings settings
  
  
negative.code: 
      // Frames
  
      /// Observerable stream of frames from the ARIS.
      member __.Frames = earlyFrameSubject :> IObservable<ReadyFrame>
  
      // Recording
  