public static Option<string> Validate(OpenGL gl, uint programHandle) { gl.ValidateProgram(programHandle); int[] status = new int[1]; gl.GetProgram(programHandle, OpenGL.GL_VALIDATE_STATUS, status); if (status[0] == OpenGL.GL_FALSE) { string log = getProgramInfoLog(gl, programHandle); return Option<string>.Some(log); } else { return Option<string>.None(); } }