Is there another function in Fortran like `merge` that does not evaluate its arguments?

Thanks. The reason I am asking is with regarding how LFortran should implement this. Right now we evaluate both arguments, but we are investigating what should be ideally done.