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 = case findGradeBetter name grades of NONE => false | (SOME "F") => false | (SOME "f") => false | _ => true; fun passingClassAlternate name grades = case findGradeBetter name grades of NONE => false | (SOME g) => if g = "F" orelse g = "f" then false else true;