<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def retract(self, mount: top_types.Mount, margin: float):
 """ Pull the specified mount up to its home position. Works regardless of critical point or home status. """

        smoothie_ax = Axis.by_mount(mount).name.upper()
        async with self._motion_lock:
            smoothie_pos = self._backend.fast_home(smoothie_ax, margin)
            self._current_position = self._deck_from_smoothie(smoothie_pos)