I was doing some work that involved traversing the hwloc topo tree, and encountered the following odd discrepancy.
hwloc_topology_get_depth => returns "unsigned"
hwloc_get_type_depth => returns "int"
Why the difference? Makes it hard sometimes to avoid the "comparison between unsigned and signed" warnings when using these functions.