Add a suppress warning
Get things much closer to be safely typed
Finish cleaning up the type handling