<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def unimapping(arg, level):
 """ Mapping object to unicode string. :type arg: collections.Mapping :param arg: mapping object :type level: int :param level: deep level :rtype: unicode :return: mapping object as unicode string """


    if not isinstance(arg, collections.Mapping):
        raise TypeError(
            'expected collections.Mapping, {} received'.format(type(arg).__name__)
        )

    result = []
    for i in arg.items():
        result.append(
            pretty_spaces(level) + u': '.join(map(functools.partial(convert, level=level), i))
        )

    string = join_strings(result, level)
    if level is not None:
        string += pretty_spaces(level - 1)

    return u'{{{}}}'.format(string)