Exploring reducing boilerplate with tagged type tuples instead of case class view models