code: def king(self, color: Color) -> Optional[Square]:
          
          king_mask = self.occupied_co[color] & self.kings & ~self.promoted
          return msb(king_mask) if king_mask else None
docs: Finds the king square of the given side. Returns ``None`` if there
          is no king of that color.
  
          In variants with king promotions, only non-promoted kings are
          considered.