module Hamster::ReadCopyUpdate

def eql?(other)

def eql?(other)
  instance_of?(other.class) && @content.eql?(other.instance_variable_get(:@content))
end

def initialize(content)

def initialize(content)
  @content = content
  @lock = Mutex.new
end

def method_missing(name, *args, &block)

def method_missing(name, *args, &block)
  @content.send(name, *args, &block) rescue super
end

def transform

def transform
  @lock.synchronize do
    @content = yield(@content)
  end
  self
end