def _create_arc(self, inst, destination, placeable=None):
        """
        Returns a list of coordinates to arrive to the destination coordinate
        """
        this_container = None
        if isinstance(placeable, containers.Well):
            this_container = placeable.get_parent()
        elif isinstance(placeable, containers.WellSeries):
            this_container = placeable.get_parent()
        elif isinstance(placeable, containers.Container):
            this_container = placeable

        if this_container and self._prev_container == this_container:
            # movements that stay within the same container do not need to
            # avoid other containers on the deck, so the travel height of
            # arced movements can be relative to just that one container
            arc_top = self.max_placeable_height_on_deck(this_container)
            arc_top += TIP_CLEARANCE_LABWARE
        elif self._use_safest_height:
            # bring the pipettes up as high as possible while calibrating
            arc_top = inst._max_deck_height()
        else:
            # bring pipette up above the tallest container currently on deck
            arc_top = self.max_deck_height() + TIP_CLEARANCE_DECK

        self._prev_container = this_container

        # if instrument is currently taller than arc_top, don't move down
        _, _, pip_z = pose_tracker.absolute(self.poses, inst)

        arc_top = max(arc_top, destination[2], pip_z)
        arc_top = min(arc_top, inst._max_deck_height())

        strategy = [
            {'z': arc_top},
            {'x': destination[0], 'y': destination[1]},
            {'z': destination[2]}
        ]

        return strategy
Returns a list of coordinates to arrive to the destination coordinate