predicate-type function call is widespread args-in-function-call matched not only by signature, but by type and value syntax function arg1 + arg2 ... is greedy ... takes all args there is no dynamic type reflection