allocList :: Group.List                  -- ^ The group list
          -> Node.List                   -- ^ The node list
          -> Instance.List               -- ^ The instance list
          -> [(Instance.Instance, Int)]  -- ^ The instance to allocate
          -> AllocSolutionList           -- ^ Possible solution list
          -> Result (Node.List, Instance.List,
                     AllocSolutionList)  -- ^ The final solution list
allocList _  nl il [] result = Ok (nl, il, result)
allocList :: Group.List                  -- ^ The group list
          -> Node.List                   -- ^ The node list
          -> Instance.List               -- ^ The instance list
          -> [(Instance.Instance, Int)]  -- ^ The instance to allocate
          -> AllocSolutionList           -- ^ Possible solution list
          -> Result (Node.List, Instance.List,
                     AllocSolutionList)
allocList _  nl il [] result = Ok (nl, il, result)
allocList _  nl il [] result = Ok (nl, il, result)