docs: def filter(filter_creator):
      """
      Creates a decorator that can be used as a filter.
  
      .. warning::
          This is currently not compatible with most other decorators, if
          you are using a decorator that isn't part of `hurler` you should
          take caution.
      """
      filter_func = [None]
  
      def function_getter(function):
          if isinstance(function, Filter):
              function.add_filter(filter)
  
              return function
          else:
              return Filter(
                  filter=filter_func[0],
                  callback=function,
              )
  
      def filter_decorator(*args, **kwargs):
          filter_function = filter_creator(*args, **kwargs)
  
          filter_func[0] = filter_function
  
          return function_getter
  
      return filter_decorator