add tuples::apply