While "tie" in perldoc allows tying to an arbitrary object, the class in question must support this in it's implementation of TIEHASH, TIEARRAY or whatever. This class provides a very tie constructor that simply returns the object it was given as it's first argument. This way side effects of calling $object->TIEHASH are avoided. This is used in Data::Visitor in order to tie a variable to an already existing object. This is also useful for cloning, when you want to clone the internal state object instead of going through the tie interface for that variable.