We have another excellent tutorial on DAML fundamentals thanks to @drsk
This time we’re covering an important topic of choices and role pattern as well as what are consuming
and nonconsuming
choices:
nonconsuming
choice doesn’t affect the contract it’s contained in. You can execute it as many times as you want. In contrast, aconsuming
choice can be called exactly once. As soon as the call happens, the containing contract is marked as inactive and a subsequent call will fail.