throws Throwable
  public Value array_shift(Env env,                           ArrayValue array)    throws Throwable  {    if (array == null)      return NullValue.NULL;    if (array.getSize() < 1)      return NullValue.NULL;    Iterator<Value> iterator = array.keySet().iterator();    Value firstValue = array.remove(iterator.next());    array.keyReset(0, NOT_STRICT);    return firstValue;  }