revert yield, correct shift in ARRAY_BASE setup
new impl with rudimentary backoff when near empty