let cons deps acc = List.rev& List.fold_left begin fun acc dep -> if List.mem dep acc then acc else dep :: acc end acc deps