Program::new returns a ProgramCreationError