# File lib/mindi.rb, line 132
    def threaded(name, &impl)  # :yields: thr
      impl_name = Container.impl_method_name(name)
      define_method(impl_name, &impl)
      arity = impl.arity

      ivname = Container.iv(name)
      define_method(name) do
        key = Thread.current
        map = instance_variable_get(ivname)
        map ||= instance_variable_set(ivname, {})
        map[key] ||= (arity == 1 ? send(impl_name, key) : send(impl_name))
      end
    end