Given vectors u = (u_1, u_2,..., u_n) and v = (v_1, v_2,,..., v_n), the inner product of u and v is defined to be u_1*v_1 + u_2*v_2 + ... + u_n*v_n. Write a curried F# function inner that takes two vectors represented as int lists and returns their inner product (assuming the two lists are of equal length): > inner [1;2;3] [4;5;6];; val it: int = 32 Solution Answer:) let rec inner xs ys = match (xs, ys) with | ([],[]) -> 0 | ([],ys) -> failwith \"Vector dimensions inconsistent\" | (xs,[]) -> failwith \"Vector dimensions inconsistent\" | (x::xs, y::ys) -> x*y + inner xs ys inner [1;2;3] [4;5;6] .