How to make a particular NTuple based Type concrete

You could do:

struct Goose{M} 
    remainders::Tuple{Int64,Vararg{Int64,M}}
    moduli::Tuple{Type{Int64},Vararg{Int64,M}}
end

but note that M is one less than your N.