Apparently, this does the same:
extern lib "user32.dll"
! MessageBox "MessageBoxA"
end extern
declare MessageBox(sys hWnd, char* lpText, char* lpCaption,
dword uType) as int at @MessageBox
MessageBox 0,"Hello World", "binding",0
But it seems that with "!" you can also specify the function prototype:
extern lib "user32.dll"
! MessageBox "MessageBoxA"(sys hWnd, char* lpText, char* lpCaption, dword uType) as int
end extern
MessageBox 0,"Hello World", "binding",0
Does "!" accept more variations?