# File lib/interact/rewindable.rb, line 39
  def ask(question, options = {})
    rewind = HAS_CALLCC

    if rewind
      prompt, answer = callcc { |cc| [cc, nil] }
    else
      prompt, answer = nil, nil
    end

    if answer
      options[:default] = answer
    end

    prompts = (@__prompts ||= [])

    options[:prompts] = prompts

    ans = super

    if rewind
      prompts << [prompt, options[:forget] ? nil : ans]
    end

    ans
  end