type Person = object age: int name: string import std/algorithm var ps = @[Person(age: 10, name: "John"), Person(age: 42, name: "Tom")] echo ps.binarySearch("Tom", proc (x: Person, y: string): int = system.cmp(x.name, y) ) proc binarySearch(x: openArray[Person], y: string): int = ps.binarySearch("Tom", proc (x: Person, y: string): int = system.cmp(x.name, y) ) echo ps.binarySearch("Tom")