If you consider yourself a serious Puppet user, i.e. you use it more than twice a month, you owe it to yourself to read through them. The README has a brief description of the functions that are available. Every time I read through it, I find more useful functions have been added. And with stronger protections for function composability, there is no reason not to use functions all the time, every time.
Even if all you do is learn about the existence of the validation functions, you will be able to in two lines of code make your code more robust and easier on users.
For extra credit check out the puppet-community extlib module which has more functions not deemed cool enough for puppet core.
To eat my own words, I'll now post some functions whose existence I did not know about:
- empty (OMG USEFUL)
- get_param (this changes eveeeeerything)
- reject (duuuuuudeee)