Why does GLSL assume missing function would return a float? Consider the simple GLSL ES 1.0 and 3.0 code