Yeah, `to_s` truncates it down to seconds, and I think we want to discard nanoseconds, but keep milliseconds.

Take this example, where the times are nearly a full second apart:

```ruby
[41] pry(main)> Time.at(421, 999999).strftime('%M:%S.%L')
=> "07:01.999"

[42] pry(main)> Time.at(421, 000000).strftime('%M:%S.%L')
=> "07:01.000"

[43] pry(main)> Time.at(421, 000000).to_s == Time.at(421, 999999).to_s
=> true
```

Rounding is not the appropriate solution, because the YAML serializer is truncating as I understand it, correct?

```ruby
[48] pry(main)> Time.at(421, 000000).round(0) == Time.at(421, 999999).round(0)
=> false

[49] pry(main)> Time.at(421, 000000).round(1) == Time.at(421, 999999).round(1)
=> false

[50] pry(main)> Time.at(421, 000000).round(2) == Time.at(421, 999999).round(2)
=> false
```

I think what we want here is `.to_r.truncate(+2)`

```ruby
[72] pry(main)> Time.at(421, 999999).to_r.truncate(+2) == Time.at(421, 990000).to_r.truncate(+2)
=> true

[73] pry(main)> Time.at(421, 999999).to_r.truncate(+3) == Time.at(421, 990000).to_r.truncate(+3)
=> false

[74] pry(main)> Time.at(421, 999999).to_r.truncate(+2) == Time.at(421, 989999).to_r.truncate(+2)
=> false

[75] pry(main)> Time.at(421, 989999).to_r.truncate(+3) == Time.at(421, 990000).to_r.truncate(+3)
=> false
```