ADD: array_find_val() and array_find_expr() macros that don't need a check function. They are only defined when GNU extentions are available in the header file (e.g. using -std=gnu99).