Hello,
I've updated the implementation to match the discussion from this morning. The idea is that `TypeError msd` is a type-family that can never be reduced, similar to `Any`. We don't do anything special in the constraint solver, however when printing errors, if we encounter any constraints of the form:
* TypeError msg
* TypeError msg ~ Something
* Something ~ TypeError msg
Then we evaluate `msg` and use it as the error message.
== Arc Difficulties Below ===
I tried to update the Phabricator patch but failed. This is what I did:
1. arc diff master --update D1236 --head custom-type-errors
Exception
ERR-CONDUIT-CALL: API Method "differential.creatediff" does not define these parameters: 'arcanistProject'.
(Run with `--trace` for a full exception trace.)
2. I thought that maybe I need to update `arcanist`, so I pulled the latest version for git.
3. arc diff master --update D1236 --head custom-type-errors
Exception
(Run with `--trace` for a full exception trace.)
4. arc liberate
Exception
(Run with `--trace` for a full exception trace.)
Any advice on what I am doing wrong?
-Iavor