anchor.diff:              else
                   return AdaptiveFunc.Identity
           }
  +
       /// <summary> Gives a camera an option to move towards or away from the facing direction.
       /// right mouse button with mouse y axis movement controls the functionality.</summary>
       /// <param name="moveSpeed"> the rate at which the zooming occurs</param>
       /// <param name="mouse"> the mouse inputs (this is often pulled from the parent window)</param>
       /// <returns>An incremental function that takes a CameraView</returns> 
  -    let controlZoomWithSpeed (moveSpeed : ModRef<float>) (m : IMouse) =
  -        let down = m.IsDown(MouseButtons.Right)
  -        let location = m.Position |> Mod.map (fun pp -> pp.Position)
  +    let controlZoomWithSpeed (moveSpeed : ModRef<float>) (mouse : IMouse) =
  +        let down = mouse.IsDown(MouseButtons.Right)
  +        let location = mouse.Position |> Mod.map (fun pp -> pp.Position)
   
           adaptive {
               let! d = down
  
positive.code:             else
                  return AdaptiveFunc.Identity
          }  
      /// <summary> Gives a camera an option to move towards or away from the facing direction.
      /// right mouse button with mouse y axis movement controls the functionality.</summary>
      /// <param name="mouse"> the mouse inputs (this is often pulled from the parent window)</param>
  
negative.code:                 )
              else
                  return AdaptiveFunc.Identity
          } 
          
      /// <summary> Implement common control functions for movement, looking, panning, and zooming 
      /// for a given camera.</summary>
      /// <param name="mouse"> the mouse inputs (this is often pulled from the parent window)</param>
  