how about just changing the order and simplifying  the first line?

```
S<B<N>B<:>I<value>[B<:>I<value>...]>
S<[I<timestamp>B<:>I<value>[B<:>I<value>...] ...]>
S<I<at-timestamp>B<@>I<value>[B<:>I<value>...]>
```