Reflection Ruby

unbound_length = String.instance_method(:length) 
class String 
def length 
99 
end 
end 
str = "cat" 
str.length # 99 
bound_length = unbound_length.bind(str) 
bound_length.call # 3