code: def prefixed(self, identifier, version):
          
          invalid_starting = ['Mn', 'Mc', 'Nd', 'Pc']
          if identifier.startswith('_'):  return True
          return((identifier[0] in string.digits) if version==2
                 else (unicodedata.category(identifier[0]) in invalid_starting))
docs: Whether or not the identifier will be prefixed.
          Strings that require the prefix are generally not recommended.