// precedence a + b < a * b; pub fn fac(n: I) -> I where I: int { match n { 0 => 1, i => i * fac(i-1), } }