Generic-derivable Tuple type class