matching:eval() uses matching to distinguish between an atom and a tuple
a first use of "case Variable of"
utils:positive uses if and guards to detect positive and negative numbers
utils:positive() uses a last guard true
utils:countdown() uses lists:foreach and an anonymous function
The print feature of utils:countdown() has been refactored in a separate function