Always use expandOpt var
Temporary use in-place generation to deal with join