public static <A, B extends Comparable<B>> A best(Iterable<A> col, F1<A,B> f) {
		A best = null;
		for (A a : col) {
			if (best == null) {
				best = a;
			} else {
				if (f.e(best).compareTo(f.e(a)) > 0) {
					;
				} else {
					best = a;
				}
			}
		}
		return best;
	}