Formatted code better, with block comments and type / return type / param annotations, etc.