In Cond, all bodys must have the same types.
Generated teal code seems to be OK:
#pragma version 6
global CurrentApplicationID
int 0
==
bnz main_l6
global GroupSize
int 3
==
bnz main_l5
global GroupSize
int 5
==
bnz main_l4
err
main_l4:
callsub code_0
b main_l7
main_l5:
callsub code_0
b main_l7
main_l6:
int 1
main_l7:
return
// code
code_0:
gtxn 0 AssetReceiver
global CurrentApplicationAddress
==
gtxn 0 AssetAmount
int 0
>
&&
gtxn 1 Amount
int 1
==
&&
gtxn 1 Receiver
global CurrentApplicationAddress
==
&&
assert
int 1
retsub