fun isBeppo (s : string) : transaction string = case s of "Beppo" => return "Yup, that's him!" | "Mephisto" => error Great googely moogely! | _ => return "Who's that?" fun listOf (n : int) = if n < 0 then error Negative! else if n = 0 then return [] else ls <- listOf (n - 1); return (n :: ls) fun length ls = case ls of [] => 0 | _ :: ls' => 1 + length ls' fun main () : transaction page = s <- source ""; ns <- source ""; return