def _strigify_val(val):
    """
    Stringify a value. Here stringify means:
        * If it's a string, surround it with double quotes (so '"' + val '"')
        * If it's a callable or a type (class, etc.), then get it's __name__
        * If not, just return "{}".format(val)
    See an example of use in enhanced_docstr function.
    :param val: value to be stringified
    :return:
    """
    if isinstance(val, str):
        return '"' + val + '"'
    elif callable(val) or isinstance(val, type):
        return val.__name__
    else:
        return "{}".format(val)