FSC uses LastWriteTime as a timestamp for the typechecker input, if new timestamp is greater than the previous value then it will retypecheck the file. For timestamps obtained from the real file system their values naturally monotonically grow, however if you add synthesided `DateTime` values created with `DateTime(int64 ver)` - they might break monotonicity and things will go topsy turvy. Virtual file system should recognize if value in the buffer has changed comparing to the previous state (and this is done using versions) and if change is detected - return `DateTime.Now` (like if file has just been saved)