Flux: How to create a custom multi-layer model with some parameters shared across layers?

Chain uses a tuple, can you do the same?

struct Multi{T1<:Tuple,T2<:Tuple}
    As::T1
    ds::T2
end

m = Multi((randn(nh,ni), randn(no,nh)), (randn(ni), randn(nh)))

AFAICT Multi doesn’t need to be mutable either.