What is wrong with this OSL shader?

I don't understand what is wrong with this shader

shader simple_material(
color Diffuse_Color = color(0.6, 0.8, 0.6),
float Noise_Factor = 0.1,
normal Normal = N,
output closure color BSDF = diffuse_toon(normalize(Normal),1.1,0.0)
)
{
color material_color = Diffuse_Color * mix(1.0, noise(P * 10.0), Noise_Factor);
BSDF = material_color * diffuse_toon(normalize(Normal),1.1,0.0);
}


What I'm doing wrong and why the output is black ?

I checked and re-checked everything but still I don't think there is something obviously wrong with this .