fn cset {|c t f|
if $c {
put $t
} else {
put $f
}
fn mset {|c t f|
all (cset $c $t $f)
fn call {|c t f @argv|
var v = (cset $c $t $f)
if (is (kind-of $v) fn) {
$v $@argv
put $v