# File rparsec/functors.rb, line 147
  def power(n, &block)
    return const(nil) if n<=0
    return block if n==1
    proc do |*args|
      result = block.call(*args)
      (n-1).times {result = block.call(result)}
      result
    end
  end