Today a TypeScript refactor produced 15 compiler errors.

It looked worse than it was.

My Candidate Tracker used a type called AsyncResult<T> with errors represented only as strings.

While adding a real PostgreSQL repository, two design problems became clear:

the result itself was not asynchronous; the surrounding Promise was