pub fn create_program<T: ToString>( source: T, location: Option<T>, ) -> Result<Program, Box<dyn Error>>