code: def cast(cast_fn):
      
  
      def inner(func):
          def call(*args, **kwargs):
              return cast_fn(func(*args, **kwargs))
  
          functools.update_wrapper(call, func)
          return call
  
      return inner
docs: >>> from Redy.Magic.Classic import cast
      >>> @cast(list)
      >>> def f(x):
      >>>     for each in x:
      >>>         if each % 2:
      >>>             continue
      >>>         yield each