meta-for double also as float, long { static double[] addToArrayWithDoublingStrategy(double[] array, int currentSize, double element) { if (currentSize >= l(array)) { array = resizeArray(array, max(1, limitToSafeArraySize(l(array)*2L))); if (currentSize >= l(array)) fail("Can't handle more than 2 billion elements at once"); } array[currentSize++] = element; ret array; } }