Consider the definition of the geometrical domain in N-dimensional space, meshed into sub-domains. And if we want to keep its boundary mesh (e.g. for boundary conditions) we would want to write something like this:

```
type Domain{N}
volumes :: Array{Float64, N}
boundaryareas :: Array{Float64, N-1}
...
end
```

(a bit artificial, but it illustrates the problem) Notice, `boundaryareas`

must be one dimension smaller compared to volumes. But currently Julia will throw an error on `N-1`

. Is there any other way to express the idea “I want this to be of dimension `N`

and this of dimension `N-1`

(or `N+1`

) and this relation should always be satisfied”?