I'm returning a flat `List` from my server with objects that contain a `createdAt`. I want to iterate through this list and find the most recent one created, sorted by a specific key, `kind`

for example, this is the data I'm receiving:

```dart
final list = [
  {id: '1a' kind: 'MOOD' createdAt: 2021-12-08 19:22:11.000Z},
  {id: '1b' kind: 'MOOD' createdAt: 2021-12-08 19:15:11.000Z},
  {id: '1c' kind: 'PRESSURE' createdAt: 2021-12-08 18:22:11.000Z},
  {id: '1d' kind: 'MOOD' createdAt: 2021-12-07 18:22:11.000Z},
  {id: '1e' kind: 'WEIGHT' createdAt: 2021-12-07 17:21:11.000Z},
]

```

I want to be able to get the most recent `createdAt`, *by* the item's `kind`, so, for example, I want to get `MOOD`'s most recent entry, it would be

```
{id: '1a' kind: 'MOOD' createdAt: 2021-12-08 19:22:11.000Z}

```

Similarly, I want to get `WEIGHT`'s most recent entry, which would return

```
  {id: '1e' kind: 'WEIGHT' createdAt: 2021-12-07 17:21:11.000Z},

```

I've tried using `firstWhere`, but I'm unsure how to find the most recent date of the list, so I'm a bit lost there. I also have access to [collection](https://pub.dev/packages/collection) if a method there is applicable.