let student_corrected_mean (s:student) =
let all_teams = H.assoc_to_list s.teams in
let all_grades = List.map (fun t -> student_grade s (t.proj)) all_teams in
let all_coeffs = List.map (fun t -> t.c) all_teams in
let sum_grades = List.fold_left2 (fun x a b -> x +. a*.b)
0. all_grades all_coeffs in
let sum_coeffs = float (List.fold_left (fun u v -> if (v>0.) then u+1 else u)
0 all_grades) in
sum_grades /. sum_coeffs