An alternative to StaticArrays is my Grassmann.jl package, which can do multi-linear algebra without ever defining higher order array interfaces. Newly released v0.6 deprecated StaticArrays
using Grassmann, StaticArrays
A = rand(SMatrix{3,3,Float64},1000,4);
B = Chain{ℝ3,1,Chain{ℝ3,1}}.(A);
The tests show that Chain{V,1,Chain{V,1}} is a bit slower at inv than SMatrix, yet it is actually many times faster at computing determinants as the det timing test shows:
julia> @btime inv.($A);
  128.939 μs (4002 allocations: 593.83 KiB)
julia> @btime inv.($B);
  181.841 μs (4002 allocations: 906.33 KiB)
julia> @btime det.($A);
  92.142 μs (4002 allocations: 93.83 KiB)
julia> @btime det.($B);
  14.172 μs (2 allocations: 31.33 KiB)
As you can see, Grassmann algebra provides a foundation (entirely independent of StaticArrays) for doing multi-linear algebra. It also is faster for some other methods like \ linear solve method.
Instead of using a traditional StaticArray interface, the Grassmann foundation is used. This is represented with a different memory layout, which can be used in interesting ways.
I’m sure there are many more optimizations possible on Grassmann in the future.