include "List.aes" contract C = payable stateful entrypoint split(targets : list(address)) = require(targets != [], "NO_TARGETS") let value_per_person = Call.value / List.length(targets) spend_to_all(value_per_person, targets) stateful function spend_to_all : ({v : int | v >= 0}, list(address)) => unit spend_to_all(_, []) = () spend_to_all(value, addr::rest) = require(value < Contract.balance, "") Chain.spend(addr, value) spend_to_all(value, rest)