Fork API types.

All tests pass (for now...)  Rebasing this PR is a _pain_
IMO, if that's the goal, then it should use a written out string...