Added sanity check for shader types