anchor.diff:  This might seem like it would have a perfomance hit but dup is rather efficient; the stray objects are garbage collected long before they become a memory issue.
   
   <% end %>
  +
  +We need to load our framework from our specs. Let's add a file called lib/eldr.rb:
  +
  +```ruby
  +require_relative 'eldr/version'
  +require_relative 'eldr/app'
  +```
  +
  +And then a spec/spec_helper.rb that loads it:
  +
  +```ruby
  +require 'rack/test'
  +require 'rack'
  +require_relative '../lib/eldr'
  +
  +# Hardcode an instance into a global because rack-test likes to get too clever
  +RSpec.configure do |config|
  +  config.include Rack::Test::Methods
  +  config.pattern = '**{,/*/**}/*_spec.rb'
  +end
  +```
  +
  +Finally add `--require ./spec/spec_helper` to .rspec
  +
  +Then test that is working by running:
  +
  +```sh
  +$ bundle exec rspec
  +```
   
   <%= gh_branch 'building-eldr', 'step-2' %>
   
  
positive.code:   describe 'GET /' do
      it 'returns the counter' do
        response = rt.get('/')
        expect(response.body).to eq '1'
      end
    end
  end
  ```
  
  <% tip do %>
  
  
negative.code:     def initialize
        defaults = { lock: false }
        table.merge!(defaults)
      end
  
      def merge!(hash)
        hash = hash.table unless hash.is_a? Hash
        @table.merge!(hash)
      end
  
      def set(key, value)
  