Erlang版 FizzBuzz

Erlangで書いたFizzBuzzです。もうちょっと勉強したら自然にかけるかな?

-module(fizzbuzz). 
-export([fizzbuzz/0]). 

fizzbuzz() -> fizzbuzz(1). 

fizzbuzz(101) -> ok; 
fizzbuzz(I) -> 
X3 = I rem 3 == 0, 
X5 = I rem 5 == 0, 
io:format( 
if X3 -> "Fizz"; true -> "" end ++ if X5 -> "Buzz"; true -> "" end ++ if not(X3 or X5) -> integer_to_list(I); true -> "" end 
++ "~n", []), 
fizzbuzz(I + 1).