code: async def _cache_and_maybe_retract_mount(self, mount: top_types.Mount):
          
          if mount != self._last_moved_mount and self._last_moved_mount:
              await self.retract(self._last_moved_mount, 10)
          self._last_moved_mount = mount
docs: Retract the 'other' mount if necessary
  
          If `mount` does not match the value in :py:attr:`_last_moved_mount`
          (and :py:attr:`_last_moved_mount` exists) then retract the mount
          in :py:attr:`_last_moved_mount`. Also unconditionally update
          :py:attr:`_last_moved_mount` to contain `mount`.