pub(crate) unsafe fn link_program<'a, T: IntoIterator<Item = &'a Shader>>( gl: &Context, shaders: T, ) -> Result<Program, String>