strict ordering symmetric predicate.
For non-symmetric predicates please use a structure with two opCalls or an alias of two global functions, that correponds to (array[i], value) and (value, array[i]) cases.
the smallest index of a sorted array such that the index corresponds to the arrays element at the index according to the predicate and -1 if the array doesn't contain corresponding element.
// sorted: a < b auto a = [0, 1, 2, 3, 4, 6]; assert(a.assumeSortedEqualIndex(2) == 2); assert(a.assumeSortedEqualIndex(5) == -1); // <= non strict predicates doesn't work assert(a.assumeSortedEqualIndex!"a <= b"(2) == -1);