Make OO types copyable and add a clone() method