more functional goodness
guards example
guarded example of Factorial
default params example
defaults with multiple heads