defapply[T <: AbstractTable[_] with HasId[U, P], U, P](cons: (Tag) ⇒ T with HasId[U, P])(implicit ushape: Shape[ColumnsShapeLevel, U, U, _], pshape: Shape[ColumnsShapeLevel, P, U, P], ptag: scala.reflect.api.JavaUniverse.TypeTag[P], driver: JdbcDriver): DaoQuery[T, U, P]