# File lib/mindi.rb, line 58
    def singleton(name, &impl)  # :yields:
      impl_name = Container.impl_method_name(name)
      define_method(impl_name, &impl)

      ivname = Container.iv(name)
      define_method(name) do
        val = instance_variable_get(ivname)
        val ||= instance_variable_set(ivname, send(impl_name))
      end
    end