I did most of the work but more needs to be done.
Where there were complicated types in some cases I put STRING and commented out the validate_<whatever> line for it so I could go back later and put in a stronger type.
for several of the ENUM I need to make custom types in the types directory. You can find them easy enough, there declarations lines are long.
The checkpoint variable should have a custom type.
Check were I used a Variant tp see if I should make a custom type.