def parse_version(version_string):
return tuple(<EOL>try_int(token)<EOL>for token in version_string.replace('<STR_LIT:->', '<STR_LIT:.>', <NUM_LIT:1>).split('<STR_LIT:.>')<EOL>)<EOL>
:param version_string: Version string to parse, like '1.2.3'

Passing to int as many of the elements as possible to support comparing
ints of different number of chars (2<10 but '2'>'10'). So we just accept
that any element with chars will be considered lesser to any int element.