def instance_exec(*args, &prc) raise ArgumentError, "Missing block" unless block_given? env = prc.block.redirect_to self cm = env.method.dup cm.staticscope = StaticScope.new(metaclass, env.method.staticscope) env.method = cm env.call(*args) end