If Product1[Int] would have been automatically extended the val _1: Int would also have to be provided. Although I could imagine, that it could be automated that a gets assigned to _1 etc etc, but it is not. Probably just not to make things even more complicated.