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
()