Glsl function - add ModularProgram

Ah, look closely--the two `if` statements check different objects; `val` and `key`.