+ /* This is not exactly how AVL was meant to be used, but since we
+ only use a limited number of functions, I do this anyway. Assume
+ the left parameter (a) is the value we give as target, the right
+ (b) will be the value in the data pointer of an avl_node_t
+ struct, which is a struct hooks_node in our case. */
+ /* So you should FIXME. */
+ return strcmp((const char*)a,
+ /* ((const struct hooks_node*)a)->type, */
+ ((const struct hooks_node*)b)->type);