def METHOD_NAME(model: MLTypes.ModelType) -> Union[np.ndarray, None]:
    """
    Get the features importance score of the model. If the model do not hold the scores, None will be returned.
    :param model: Model to get its 'feature_importances_' or 'coef_' fields.
    :return: The feature importance scores if available and None otherwise.
    """
    # Set the score variable:
    importance_score: np.ndarray = None
    # Look for the importance score data:
    if hasattr(model, "feature_importances_"):
        # Tree-based feature importance:
        importance_score = model.feature_importances_
    elif hasattr(model, "feature_importance"):
        # Booster feature importance:
        importance_score = model.feature_importance()
    elif hasattr(model, "coef_"):
        # Coefficient-based importance:
        importance_score = model.coef_
    # If found, return it in two dimensions (first one for the classes amount):
    if importance_score is not None:
        if len(importance_score.shape) == 1:
            return [importance_score]
        return importance_score
    # If not found, check for inner estimator/s:
    if hasattr(model, "estimator_"):
        return FeatureImportancePlan.METHOD_NAME(model=model.estimator_)
    elif hasattr(model, "estimators_"):
        return np.vstack(
            [
                FeatureImportancePlan.METHOD_NAME(model=estimator)
                for estimator in model.estimators_
            ]
        )
    # No feature importance or coefficients are available for the given model:
    return None