docs: def resolve(
              self, configurable=None, scope=None, safe=None, besteffort=None
      ):
          """Resolve all parameters.
  
          :param Configurable configurable: configurable to use for foreign
              parameter resolution.
          :param dict scope: variables to use for parameter expression evaluation.
          :param bool safe: safe execution (remove builtins functions).
          :raises: Parameter.Error for any raised exception.
          """
  
          if scope is None:
              scope = self.scope
  
          if safe is None:
              safe = self.safe
  
          if besteffort is None:
              besteffort = self.besteffort
  
          for category in self.values():
  
              for param in category.values():
  
                  param.resolve(
                      configurable=configurable, conf=self,
                      scope=scope, safe=safe, besteffort=besteffort
                  )