docs: def build_listing(self):
          """
          Builds a listing of all functions sorted A-Z, with their names and descriptions
          """
          def func_entry(name, func):
              args, varargs, defaults = self._get_arg_spec(func)
  
              # add regular arguments
              params = [{'name': str(a), 'optional': a in defaults, 'vararg': False} for a in args if a != 'ctx']
  
              # add possible variable argument
              if varargs:
                  params += [{'name': str(varargs), 'optional': False, 'vararg': True}]
  
              return {'name': str(name.upper()),
                      'description': str(func.__doc__).strip(),
                      'params': params}
  
          listing = [func_entry(f_name, f) for f_name, f in self._functions.items()]
          return sorted(listing, key=lambda l: l['name'])