Hi Aurel,
UDT variables can be copied, as a whole: copy @dest, @src, bytes
TYPE FOR_STACK_TYPE
   vari AS LONG
   Target AS LONG
   Location AS LONG
End TYPE
Dim Ftos AS LONG
Dim Gtos AS LONG
Dim FStack[256] AS FOR_STACK_TYPE
Declare SUB fpush(i as FOR_STACK_TYPE)
Declare SUB fPop(i AS FOR_STACK_TYPE)
SUB fPush(i AS FOR_STACK_TYPE)
   If ftos > 256 THEN
       print "SB_TOO_MNY_FOR"
     Else
        copy @FStack[ftos], @i, sizeof(FOR_STACK_TYPE)
        ftos++
   End If
END SUB
SUB fPop(i AS FOR_STACK_TYPE)
   ftos = ftos - 1
   If ftos < 0 THEN
       print "SB_NEXT_WO_FOR"
     Else
       copy @i, @FStack[ftos], sizeof(FOR_STACK_TYPE)
   End If
END SUB