docs: def resolve(
              self, expr, name,
              safe=DEFAULT_SAFE, tostr=DEFAULT_TOSTR, scope=DEFAULT_SCOPE,
              besteffort=DEFAULT_BESTEFFORT
      ):
          """Resolve an expression with possibly a dedicated expression resolvers.
  
          :param str name: expression resolver registered name. Default is the
              first registered expression resolver.
          :param bool safe: if True (Default), resolve in a safe context
              (without I/O).
          :param bool tostr: if True (False by default), transform the result into
              a string format.
          :param dict scope: scope execution resolution.
          :return: a string if tostr, otherwise, a python object.
  
          :raises: KeyError if no expression resolver has been registered or if
              name does not exist in expression resolvers.
          """
  
          resolver = None
  
          if name is None:
              name = self.default
  
          resolver = self[name]
  
          result = resolver(
              expr=expr,
              safe=safe, tostr=tostr, scope=scope, besteffort=besteffort
          )
  
          return result