rec(a, b, i) = a ~ (i : b);

vect0 = case {
	((y, z)) => vect0(y) : vect0(z);
	(y) => _ , y : vectorize;
};

init_value = case {
	((x,y)) => init_value(x) : vect0(y);
	(0) => 0;
	(x) => 0 : vect0(x);
};

make_init(x) = (0, 1 : prefix), init_value(x), _ : select2;

A = +;
B = serialize, 2 : vectorize;
//B = serialize : _, 2 : vectorize;
I = make_init((2));

//process = _,_ : > ;

process = (0.000001, 2 : vectorize) : rec(A,B,I);

//process = 1, 2:+:+~((0,1:+),_ :+:_);