code: def eval_first_non_none(eval_list: Iterable[Callable[..., Any]], **kwargs: Any) -> Any:
      
      Validator.is_real_iterable(raise_ex=True, eval_list=eval_list)
  
      for eval_fun in eval_list:
          res = eval_fun(**kwargs)
          if res is not None:
              return res
      return None
docs: Executes a list of functions and returns the first non none result. All kwargs will be passed as
      kwargs to each individual function. If all functions return None, None is the overall result.
  
      Examples:
  
          >>> eval_first_non_none((lambda: None, lambda: None, lambda: 3))
          3
          >>> print(eval_first_non_none([lambda: None, lambda: None, lambda: None]))
          None
          >>> eval_first_non_none([
          ...     lambda cnt: cnt if cnt == 1 else None,
          ...     lambda cnt: cnt if cnt == 2 else None,
          ...     lambda cnt: cnt if cnt == 3 else None]
          ... , cnt=2)
          2