triggerDep :: (TS m)
           => Job.Name    -- ^ The dependency
           -> Job.Status  -- ^ The dependant
           -> m ()
triggerDep dep s
  | Job.Waiting remaining <- s ^. Job.stage =
      setAndPerhapsQueue s . maybe (Queued LocalQueue) Waiting $ Job.delete dep remaining
  | otherwise                               = pure ()
triggerDep :: (TS m)
           => Job.Name    -- ^ The dependency
           -> Job.Status  -- ^ The dependant
           -> m ()
triggerDep dep s
  | Job.Waiting remaining <- s ^. Job.stage =
      setAndPerhapsQueue s . maybe (Queued LocalQueue) Waiting $ Job.delete dep remaining
  | otherwise                               = pure ()
triggerDep dep s
  | Job.Waiting remaining <- s ^. Job.stage =
      setAndPerhapsQueue s . maybe (Queued LocalQueue) Waiting $ Job.delete dep remaining
  | otherwise                               = pure ()