docs: def to_integer(value, ctx):
      """
      Tries conversion of any value to an integer
      """
      if isinstance(value, bool):
          return 1 if value else 0
      elif isinstance(value, int):
          return value
      elif isinstance(value, Decimal):
          try:
              val = int(value.to_integral_exact(ROUND_HALF_UP))
              if isinstance(val, int):
                  return val
          except ArithmeticError:
              pass
      elif isinstance(value, str):
          try:
              return int(value)
          except ValueError:
              pass
  
      raise EvaluationError("Can't convert '%s' to an integer" % str(value))