I am wondering how to program a generic elementwise minimum of, say, vectors, with the following in mind: the result from an `AbstractVector{T}`

is a `T`

, eg `SVector`

and `Vector`

would be preserved.

Data-generating MWE:

```
using StaticArrays
v = [randn(3) for _ in 1:10] # Vector
s = [SVector(v...) for v in v] # SVector
m = minimum(reduce(hcat, v); dims = 2) # for testing
```

Eg for `elementwise_min(v)`

I want a `Vector{Float64}`

, and for `elementwise_min(s)`

an `SArray{Tuple{3},Float64,1,3}`

.