    # File lib/facets/core/kernel/cache.rb, line 10
      def cache m = nil
        if m
          (Module === self ? self : (class << self; self; end)).module_eval "alias_method '__\#{ m }__', '\#{ m }'\ndef \#{ m }(*__a__,&__b__)\nc = cache['\#{ m }']\nk = [__a__,__b__]\nif c.has_key? k\nc[k]\nelse\nc[k] = __\#{ m }__(*__a__,&__b__)\nend\nend\n"
        end
        @cache ||= Hash::new{|h,k| h[k]={}}
      end