`TypeError#to_h` calls `Context#to_h` but it wasn't defined on it (#344)
or alternatively
```
{
receiver:, method:, label:, expected:, actual:, children: children.map(&:to_h)
}
```
maybe reads nicer but obv uses the ivar accessor methods which the rest
of the class doesn't
authored by