let collect results = function
  |{result = Failure (f) ; request = Package r } -> 
      List.iter (fun reason ->
        match reason with
        |Conflict (i,j,_) ->
            add results.summary reason r;
            results.conflict <- results.conflict + 1
        |Missing (i,vpkgs) ->
            add results.summary reason r;
            results.missing <- results.missing + 1
        |-> ()
      ) (f ())
  |_  -> ()