Group and Aggregate queries, unlike Select queries do not return arbitrary types, but the types :
Group, Measures and GroupWithMeasures that merely hold tuples.

Squeryl diverges slightly from SQL in that aggregate functions are not allowed within a select.
They are instead declared in a ‘compute’ clause which is in fact a select in disguise, since
it’s arguments end up in the generated SQL’s select clause. The motivation for this design
choice is to make it a bit harder to write invalid Select statements, since the DSL forces
a ‘compute’ clause to either replace a select or to follow a groupBy.

As the following example illustrates, the types of the resulting tuples are determined by the
arguments of the groupBy and compute clause.