It is indeed a dirty method, resulting from WDL legacy. WDL had only one variable type, so when floats were needed they had to be stored in the memory space of vars.