let point = function | p -> [p];; let line = function | p1, p2 -> [p1, p2];; let rec join = function | p::ps, q::qs -> p::join(ps, q::qs) | [p], q::qs -> line(p,q)::qs | _,_ -> [];;