MusicD toD([Pointer<MusicC>? ptr]) => .new( originalPointer: ptr, stream: stream.toD(ptr?.cast()), // first field, we can just cast frameCount: frameCount, looping: looping, ctxType: .fromValue(ctxType), );