public static <A> Douce<A, Collection<A>> getFirst(Iterable<A> iter) {
		LinkedList<A> leftovers = new LinkedList<A>();
		A first = null;
		boolean gotFirst = false;
		for (A a : iter) {
			if (!gotFirst) {
				first = a;
				gotFirst = true;
			} else {
				leftovers.add(a);
			}
		}
		return new Douce<A, Collection<A>>(first, leftovers);
	}