I think you'd have to do it yourself, but the principle is straightforward. You have an unsafe pointer and cast to a ptr type. E.g. I was working with allocated pointers and pulling strings out of them:
const N = <suitably enormous number>
type TCharArray = array[0..N,char]
var p: pointer = <comes from somewhere>
var cp = cast[ptr TCharArray](p)
# can now read/write cp[i] etc.
Sorry formatting ate up stuff in angle brackets...
N is a 'suitably enormous number' and the pointer would come from your shared memory block.
For a useq type, I'd imagine that the base type contain the actual size and the total capacity, and the unsafe pointer data.