s1 = "cat"
def s1.upcase
   "CaT"
end

s1_dup   = s1.dup
s1_clone = s1.clone
s1                  #=> "cat"
s1_dup.upcase       #=> "CAT" (singleton method not copied)
s1_clone.upcase     #=> "CaT" (uses singleton method)

