If function f1 is unused, and f2 is only called from f1, Rust complains that both f1 and f2 are unused.
I find this confusing: it's useful to know that I can remove both functions, but removing f2 alone gives a compile error.
Not sure what the best tradeoff is though.