let check_consistent defs = 
  let provided = List.flatten (List.map extract_provide defs) in
  let types = List.flatten (List.map extract_type defs) in
  let provided_types = List.flatten (List.map extract_provide_type defs) in
  let _ = check_duplicates provided in
  let _ = List.map (check_require provided) defs in
  let _ = check_types types provided_types in
    ()