Clone::Choose checks several different modules which provides a clone() function and selects an appropriate one.