code: def partial_imap_1to1(func, si_func):
      
      @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
docs: a bit messy
  
      DEPRICATE