This is a rough diff for making `context` available to `type_check`s in a non-breaking way.
At this point I feel pretty conflicted about this change.
* It feels a little off at a conceptual level to have type checks be a function of more than just the type. I think there is a reasonable argument that if you need to do context dependent verification - that it happen in a solid.
* This API change is pretty cumbersome - either we do something greasy like in this diff or all type_check callsites need to be updated.
Given the mixed feelings im putting up this diff early to start some discussion