The details follow later, but basically policies can be set by either:
      
- 
            Defining some macros that change the default behaviour: this
            is the recommended method for setting installation-wide policies.
          
- 
            By instantiating a distribution object with an explicit policy: this
            is mainly reserved for ad hoc policy changes.
          
- 
            By passing a policy to a special function as an optional final argument:
            this is mainly reserved for ad hoc policy changes.
          
- 
            By using some helper macros to define a set of functions or distributions
            in the current namespace that use a specific policy: this
            is the recommended method for setting policies on a project- or translation-unit-wide
            basis.
          
        The following sections introduce these methods in more detail.