placeNextCandidates load residual order package quantity
  | quantity == 0
  = Nothing
  | not $ package `isInside` load
  = Nothing
  | otherwise
  = pickNextResidual residual package order quantity >>= Just . quantityReplicate
placeNextCandidates load residual order package quantity
  | quantity == 0
  = Nothing
  | not $ package `isInside` load
  = Nothing
  | otherwise
  = pickNextResidual residual package order quantity >>= Just . quantityReplicate
placeNextCandidates load residual order package quantity
  | quantity == 0
  = Nothing
  | not $ package `isInside` load
  = Nothing
  | otherwise
  = pickNextResidual residual package order quantity >>= Just . quantityReplicate