anchor.diff:    group("Implicit joins", () {
       test("Can use implicit matcher across many to many table", () async {
         var q = new Query<RootObject>()
  -        ..sortDescriptors = [
  -          new QuerySortDescriptor("id", QuerySortOrder.ascending)
  -        ]
  +        ..sortBy((r) => r.id, QuerySortOrder.ascending)
           ..where.join.haveAtLeastOneWhere.other.value1 = whereLessThan(4);
   
         var results = await q.fetch();
  
positive.code:   group("Explicit joins", () {
      test("Can join across many to many relationship, from one side", () async {
        var q = new Query<RootObject>()
          ..sortDescriptors = [
            new QuerySortDescriptor("id", QuerySortOrder.ascending)
          ];
  
        q.joinMany((r) => r.join)..joinOn((r) => r.other);
        var results = await q.fetch();
  
negative.code: 
        // 'Teams that have played at Iowa'
        q = new Query<Team>()
          ..sortBy((t) => t.id, QuerySortOrder.ascending)
          ..where.awayGames.haveAtLeastOneWhere.homeTeam.name =
              whereContains("Iowa");
        results = await q.fetch();
  