In 19.1 (2^n) uses a short integer internally 2^15 is OK, 2^16 blows up.

There does not seem to be a built in "verbose" version of this function.

Code:
Function Power2 Global Integer iExp Returns UInteger 
    Integer iStep 
    UInteger uResult 
    Move 1 to uResult
    If (iExp = 0) ; 
         Function_Return 1
    If (iExp = 1) ; 
         Function_Return 2
          
    For iStep from 1 to iExp
        Move (uREsult*2) to uResult  
    Loop
    Function_Return uResult 
End_Function




Function IsBitSet UInteger iBit UInteger iCode Returns Boolean 
        UInteger iRegister uExp
        UInteger uResult 
        Boolean bSet 
        Move 2 to uExp
        For iBit from 1 to 31
            Move (uExp^iBit) to uResult  
            Showln iBit " ==> " uResult " OR " (Power2(Self,iBit)) 
        Loop
        Function_Return BSet
End_Function
For future me, this has been addressed in 20.0
Code:
 
        Procedure OnClick
            Send Stop_Box (2^40) 
        End_Procedure
Actually works.