docs: def source_perform(method_name, *args, **kwargs):
      """
      Creates an effect that will call the source's method with the current
      value and specified arguments and the union of effect parameters and
      specified keywords (action's parameters take precedence).
      @param method_name: the name of method belonging to the source reference.
      @type method_name: str
      """
  
      def source_perform(value, context, **params):
          method = getattr(context["model"].source, method_name)
          return _perform(method, value, params, args, kwargs)
  
      return source_perform