Add mutual recursion for sml