-- Proceed with a state until a fixed point, simulate and collect the side
-- effects.
proceedUntilFixedPointFlat :: Maybe Sha -> PushResult -> ProjectState -> (ProjectState, [ActionFlat])
proceedUntilFixedPointFlat integrateResult pushResult state =
  runActionWithInit integrateResult pushResult [] $ proceedUntilFixedPoint state
proceedUntilFixedPointFlat :: Maybe Sha -> PushResult -> ProjectState -> (ProjectState, [ActionFlat])
proceedUntilFixedPointFlat integrateResult pushResult state =
  runActionWithInit integrateResult pushResult [] $ proceedUntilFixedPoint state
proceedUntilFixedPointFlat integrateResult pushResult state =
  runActionWithInit integrateResult pushResult [] $ proceedUntilFixedPoint state