Actually, the current implementation will throw if the initial value is not supplied.