macro mapToDoubleArray_body { int n = l(l); double[] a = new[n]; Iterator it = iterator(l); for i to n: a[i] = f.get(it.next()); ret a; } static double[] mapToDoubleArray(Cl l, IF1 f) { mapToDoubleArray_body } static double[] mapToDoubleArray(double[] l, IF1_DoubleToDouble f) { int n = l(l); double[] a = new[n]; for i to n: a[i] = f.get(l[i]); ret a; } /*static double[] mapToDoubleArray(Cl l, IF1_ObjectToDouble f) { mapToDoubleArray_body }*/