I use the following struct to represent a n-dimensional point:

```
struct Point<T> {
coords: Vec<T>,
dim: usize,
}
```

It seems that the `dim`

field is redundant, since we can obtain it from `vec.len()`

. If we use only a `Vec`

to represent the point, we need guarantee that its length is constant, which contradict with the definition of `Vec`

as a growable list type. An array `[T; N]`

is also considered, but its size should be known at runtime. Is there any better ways to represent a n-dimensional point?