"Abstract supertype of objects whose value can be cloned." shared interface Cloneable<out Clone> of Clone given Clone satisfies Cloneable<Clone> { "Obtain a clone of this object. For a mutable object, this should return a copy of the object. For an immutable object, it is acceptable to return the object itself." shared formal Clone clone; }