docs: def vectorize(fn):
      """
      Allows a method to accept a list argument, but internally deal only
      with a single item of that list.
      """
  
      @functools.wraps(fn)
      def vectorized_function(values, *vargs, **kwargs):
          return [fn(value, *vargs, **kwargs) for value in values]
  
      return vectorized_function