fused::tuple always makes internal copy