* them marked us as conflicted.
         */
        MySerializableXact->flags |= SXACT_FLAG_DEFERRABLE_WAITING;
-       while (!(SHMQueueEmpty((SHM_QUEUE *)
-                            &MySerializableXact->possibleUnsafeConflicts) ||
+       while (!(SHMQueueEmpty(&MySerializableXact->possibleUnsafeConflicts) ||
                 SxactIsROUnsafe(MySerializableXact)))
        {
            LWLockRelease(SerializableXactHashLock);
         * opposed to 'outLink' for the r/w xacts.
         */
        possibleUnsafeConflict = (RWConflict)
-           SHMQueueNext((SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
-                 (SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
+           SHMQueueNext(&MySerializableXact->possibleUnsafeConflicts,
+                        &MySerializableXact->possibleUnsafeConflicts,
                         offsetof(RWConflictData, inLink));
        while (possibleUnsafeConflict)
        {
            nextConflict = (RWConflict)
-               SHMQueueNext((SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
+               SHMQueueNext(&MySerializableXact->possibleUnsafeConflicts,
                             &possibleUnsafeConflict->inLink,
                             offsetof(RWConflictData, inLink));
 
     * previously committed transactions.
     */
    conflict = (RWConflict)
-       SHMQueueNext((SHM_QUEUE *) &MySerializableXact->outConflicts,
-                    (SHM_QUEUE *) &MySerializableXact->outConflicts,
+       SHMQueueNext(&MySerializableXact->outConflicts,
+                    &MySerializableXact->outConflicts,
                     offsetof(RWConflictData, outLink));
    while (conflict)
    {
        nextConflict = (RWConflict)
-           SHMQueueNext((SHM_QUEUE *) &MySerializableXact->outConflicts,
+           SHMQueueNext(&MySerializableXact->outConflicts,
                         &conflict->outLink,
                         offsetof(RWConflictData, outLink));
 
     * we're rolling back, clear them all.
     */
    conflict = (RWConflict)
-       SHMQueueNext((SHM_QUEUE *) &MySerializableXact->inConflicts,
-                    (SHM_QUEUE *) &MySerializableXact->inConflicts,
+       SHMQueueNext(&MySerializableXact->inConflicts,
+                    &MySerializableXact->inConflicts,
                     offsetof(RWConflictData, inLink));
    while (conflict)
    {
        nextConflict = (RWConflict)
-           SHMQueueNext((SHM_QUEUE *) &MySerializableXact->inConflicts,
+           SHMQueueNext(&MySerializableXact->inConflicts,
                         &conflict->inLink,
                         offsetof(RWConflictData, inLink));
 
         * up if they are known safe or known unsafe.
         */
        possibleUnsafeConflict = (RWConflict)
-           SHMQueueNext((SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
-                 (SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
+           SHMQueueNext(&MySerializableXact->possibleUnsafeConflicts,
+                        &MySerializableXact->possibleUnsafeConflicts,
                         offsetof(RWConflictData, outLink));
        while (possibleUnsafeConflict)
        {
            nextConflict = (RWConflict)
-               SHMQueueNext((SHM_QUEUE *) &MySerializableXact->possibleUnsafeConflicts,
+               SHMQueueNext(&MySerializableXact->possibleUnsafeConflicts,
                             &possibleUnsafeConflict->outLink,
                             offsetof(RWConflictData, outLink));
 
    /* Add this to the list of transactions to check for later cleanup. */
    if (isCommit)
        SHMQueueInsertBefore(FinishedSerializableTransactions,
-                         (SHM_QUEUE *) &(MySerializableXact->finishedLink));
+                            &MySerializableXact->finishedLink);
 
    if (!isCommit)
        ReleaseOneSerializableXact(MySerializableXact, false, false);
                      errhint("The transaction might succeed if retried.")));
 
            if (SxactHasSummaryConflictIn(MySerializableXact)
-           || !SHMQueueEmpty((SHM_QUEUE *) &MySerializableXact->inConflicts))
+               || !SHMQueueEmpty(&MySerializableXact->inConflicts))
                ereport(ERROR,
                        (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE),
                         errmsg("could not serialize access due to read/write dependencies among transactions"),
    }
 
    nearConflict = (RWConflict)
-       SHMQueueNext((SHM_QUEUE *) &MySerializableXact->inConflicts,
-                    (SHM_QUEUE *) &MySerializableXact->inConflicts,
+       SHMQueueNext(&MySerializableXact->inConflicts,
+                    &MySerializableXact->inConflicts,
                     offsetof(RWConflictData, inLink));
    while (nearConflict)
    {
        }
 
        nearConflict = (RWConflict)
-           SHMQueueNext((SHM_QUEUE *) &MySerializableXact->inConflicts,
+           SHMQueueNext(&MySerializableXact->inConflicts,
                         &nearConflict->inLink,
                         offsetof(RWConflictData, inLink));
    }
     * outConflicts lists, if they're non-empty we'll represent that by
     * setting the appropriate summary conflict flags.
     */
-   if (!SHMQueueEmpty((SHM_QUEUE *) &MySerializableXact->inConflicts))
+   if (!SHMQueueEmpty(&MySerializableXact->inConflicts))
        xactRecord->flags |= SXACT_FLAG_SUMMARY_CONFLICT_IN;
-   if (!SHMQueueEmpty((SHM_QUEUE *) &MySerializableXact->outConflicts))
+   if (!SHMQueueEmpty(&MySerializableXact->outConflicts))
        xactRecord->flags |= SXACT_FLAG_SUMMARY_CONFLICT_OUT;
 
    RegisterTwoPhaseRecord(TWOPHASE_RM_PREDICATELOCK_ID, 0,