let rec v_zero v = match v with |N i -> N 0 |R f -> R 0. |Vec (size, vec) -> make_vector size (fun i -> v_zero (vec i)) |Zero -> Zero (* Danger! *) |W -> R 0.