when statement ============== func addItemsToUse(ref Iterable items) { when itemsToUse != none #itemsToUse = .new() #itemsToUse.preallocate(items.length) itemsToUse = .new(items.length) for item in items { when item.type in [.Gadget, .Widget] when item.compatibleWith(something) itemsToUse.append(item) } }