The formula language for statistical models in the DataFrames package is patterned on a similar language in R. Several operators including :+, :*, :& and :/ has a special interpretation in that language. In particular A & B & C denotes a 3-way interaction. I have noticed that it does not generate a three-argument call to the & function but instead generates a two-argument call to & in which the first argument is a call to & with arguments A and B. Is this intentional?
I can work around this but it seems that the 3 argument call is legitimate. julia> eval(Expr(:call,:&,true,false,true)) false
