    # File lib/facets/core/module/this.rb, line 18
      def this
        klass = self
        Functor.new do |op, *args|
          case op.to_s[-1,1]
          when '='
            op = op.to_s.chomp('=')
            if Proc === args[0]
              define_method( op, &args[0] )
            else
              define_method( op ) do
                r = instance_variable_set( "@#{op}", args[0] )
                klass.class.class_eval %{
                  def #{op}; @#{op}; end
                }
                r
              end
            end
          else
            klass.class_eval %{
              def #{op}; @#{op}; end
            }
          end
        end
      end