Undef variables would somehow become cbuffer variables without any warning ...
Just treat any undefined argument as 0. It is risky to use the undefined variable as it might not lower to a true constant.