sig val eq_by : ('a -> 'b) -> 'a BatOrd.eq val comp_by : ('a -> 'b) -> 'a BatOrd.comp val ord_by : ('a -> 'b) -> 'a BatOrd.ord end