public static <A> String join(Iterable<A> objs, String delimiter,
			F1<A, String> f1) {
		StringBuffer sb = new StringBuffer();
		for (A a : objs) {
			sb.append(f1.e(a)).append(delimiter);
		}
		if (sb.length() > 0) {
			sb.setLength(sb.length() - delimiter.length());
		}
		return sb.toString();
	}