refine clone() return type on Tuple