[a]%[b][[...%c]]
[a] mod [b][[... mod c]]
where [a], [b], and [c] are all values
[a], [b], and [c] are numbers
returns the modulo of [a] in [b], and that in [c], in the most precise type that appears in the chain
mod(type[a], type[b], type[c]) is defined
returns a call of [a], [b], and [c] to mod
[a] % [b] is defined
evaluates [a] % [b] first, then evaluates the rest of the expression