I was trying to keep coherence with the original gem behaviour, because if we don't mock dup and clone methods it will return an TypeError when we call dup or clone methods. Maybe the correct way of doing this should be letting singleton class to raise TypeError on dup or clone calls.