fun with sml