1) Use RecordWithoutPickling. Record is unhashable in Python 3. 2) Explicitly turn the argument into a string in get_fresh_var_name(), also for Python 3 compatibility. 3) Fix a spurious flake8 warning about block comments.
test_multirate_accuracy() is redundant. Skip it but keep it in case the user wants to use it from the command line.
Add (completely unfinished) code generator code. This is what I have so far in terms of a code generator.
Update todo. Remove some finished items and add well-formedness checks to list of things to be done.