This chapter will cover the following recipes:
Namespacing modules
Using module attributes as constants
Enforcing behaviors
Documenting modules
Using module directives
Using a module in the scripted mode
Defining functions with default arguments
Using guard clauses and pattern matching in function definitions