|> List.map(fun x -> l2 |> List.map(fun y -> y + x))
|> List.collect(fun x -> l2 |> List.map(fun y -> y + x))
|> List.fold(fun acc x -> acc @ (l2 |> List.map(fun y -> y + x))) []
adder1 r r2 |> printfn "%A"
adder2 r r2 |> printfn "%A"
adder3 r r2 |> printfn "%A"