let teacher_of_fun f =
   (fun student examiners grades ->
      let res = f student in
      let next_grades = make_exam examiners res in
      (res,next_grades :: grades)
   )