40 RECURSIVE FUNCTIONS fun reverse ( L ) = if L = nil then nil else reverse ( tl ( L ) ) @ [ hd ( L ) ]; val reverse = fn : 'a list -> 'a list