Fork API types.

All tests pass (for now...)  Rebasing this PR is a _pain_
If it times out via the test, I believe you get a stack trace, which is even more relevant because you can see where it's stuck.