Using stack traces to explain type inference: https://sophiebits.com/2018/05/21/type-errors-with-inference-need-stacks.html