checkTarget (Route pos (Just (Target tpos moveTime moveDuration))) delta =
  let time' = (moveTime + delta)
  in  if time' > moveDuration then Route tpos Nothing else Route pos (Just (Target tpos time' moveDuration))
checkTarget (Route pos (Just (Target tpos moveTime moveDuration))) delta =
  let time' = (moveTime + delta)
  in  if time' > moveDuration then Route tpos Nothing else Route pos (Just (Target tpos time' moveDuration))
checkTarget (Route pos (Just (Target tpos moveTime moveDuration))) delta =
  let time' = (moveTime + delta)
  in  if time' > moveDuration then Route tpos Nothing else Route pos (Just (Target tpos time' moveDuration))