fun mul_not_nul nil = 1 | mul_not_nul(x::xs) = if x = 0 then mul_not_nul(xs) else x * mul_not_nul(xs); mul_not_nul [1, 2, 3, 0, 3, 0, 4, 5];