A suggestion: let us not say things like "IGRAPH_NAN is returned" in the documentation. This may mislead some users into thinking that they can test the return value using if (x == IGRAPH_NAN) .... That is not possible, isnan() needs to be used instead.
Thus, let us say “NaN is returned” instead.
I’ll fix instances of IGRAPH_NAN in the docs.