line 20: usually two lines between code blocks
line 21: added type hints into signature
line -26: the function did not return anything (actually, returns None) - the change was actually a side-effect
line 30: using "with" as a context manager automatically closes the file for you
line 33: same
line 37: create "main" function for module-level code
line 42: conditional to execute main function
line 20: usually two lines between code blocks line 21: added type hints into signature line -26: the function did not return anything (actually, returns None) - the change was actually a side-effect line 30: using "with" as a context manager automatically closes the file for you line 33: same line 37: create "main" function for module-level code line 42: conditional to execute main function