Drive-by comment: removing comments first simplifies the regex to use to extract flow properties, but I don't think removing whitespace has any benefit. Actually, I think it would be faster to leave in the whitespace to reduce the amount of string rebuilding done by replace (and the amount of scanning would be equal in both cases). Maybe change this to a `removeComments()` function?