Turn product quats into case class asts e.g. Quat.Product(name:V,age:V) => CaseClass(name->p.name,age->p.age) alternateQuat is there in case it's a top-level expansion and the identifier is generic or unknown (or an abstract product quat) so we want to try and get information from the quat from the [T] of the executeQuery[T] itself (similar to quatOf[T]) this information is already supplied by higher level constructs.
Turn product quats into case class asts e.g. Quat.Product(name:V,age:V) => CaseClass(name->p.name,age->p.age) alternateQuat is there in case it's a top-level expansion and the identifier is generic or unknown (or an abstract product quat) so we want to try and get information from the quat from the [T] of the executeQuery[T] itself (similar to quatOf[T]) this information is already supplied by higher level constructs.