def partial_imap_1to1(func, si_func):
    """ a bit messy

    DEPRICATE
    """
    @functools.wraps(si_func)
    def wrapper(input_):
        if not util_iter.isiterable(input_):
            return func(si_func(input_))
        else:
            return list(map(func, si_func(input_)))
    set_funcname(wrapper, util_str.get_callable_name(func) + '_mapper_' + get_funcname(si_func))
    return wrapper
a bit messy

    DEPRICATE