I want to be able to fold/reduce a Map, just like I can with Array and Set. The closest I see is something called `getFoldableWithIndex` but I don't know how to use it or get it to compile with Typescript. One thing I find annoying is that it requires an ORD. Maybe this is required to make the function more deterministic but sorting is not important for many folding/reducing tasks and decreases performance. My workaround is leaving fp-ts, generating an array or iterable of [key,value] pairs, and doing a simple reduce on it to find the person with the max age.

```
import { map as MAP, ord as ORD } from "fp-ts"

type Person = string;
type Age = number;

const oldestPerson = (ps:Map<Person, Age>) =>
  pipe(ps, MAP.getFoldableWithIndex<Person>(ORD.fromCompare<Person>((a,b)=>0)))......

```

---

Just noticed a more recent unreleased version has support for reduce. Still don't know why ORD is required or how to use getFolderableWithIndex or when the newer version will be released.

<https://github.com/gcanti/fp-ts/blob/2.11/src/ReadonlyMap.ts>