fun findGrade _ [] = "No grade" | findGrade name ((n,g)::xs) = if name = n then g else findGrade name xs; fun findGradeBetter _ [] = NONE | findGradeBetter name ((n,g)::xs) = if name = n then SOME g else findGradeBetter name xs; fun passingClass name grades = let fun passHelper NONE = false | passHelper (SOME "F") = false | passHelper (SOME "f") = false | passHelper _ = true; in passHelper (findGradeBetter name grades) end; fun passingClass name grades = case findGradeBetter name grades of NONE => false | (SOME "F") => false | (SOME "f") => false | _ => true; fun passingClass name grades = let fun passHelper NONE = false | passHelper (SOME x) = if x = "F" orelse x = "f" then false else true; in passHelper (findGradeBetter name graes) end;