func `$`(a: ExprIndex): string {....raises: [], tags: [].}
func `$`(a: SetIndex): string {....raises: [], tags: [].}
func `+`(a: ExprIndex; b: ExprIndex): ExprIndex {....raises: [], tags: [].}
func `+`(a: SetIndex; b: SetIndex): SetIndex {....raises: [], tags: [].}
func `-`(a: ExprIndex; b: ExprIndex): ExprIndex {....raises: [], tags: [].}
func `-`(a: SetIndex; b: SetIndex): SetIndex {....raises: [], tags: [].}
func `<=`(a: ExprIndex; b: ExprIndex): bool {....raises: [], tags: [].}
func `<`(a: ExprIndex; b: ExprIndex): bool {....raises: [], tags: [].}
func `==`(a: ExprIndex; b: ExprIndex): bool {....raises: [], tags: [].}
func `==`(a: SetIndex; b: SetIndex): bool {....raises: [], tags: [].}
func `>=`(a: ExprIndex; b: ExprIndex): bool {....raises: [], tags: [].}
func `>`(a: ExprIndex; b: ExprIndex): bool {....raises: [], tags: [].}
proc add[T, U](a: var SeqOfDistinct[T, U]; value: U)
proc checkNil(s: PSym; body: PNode; conf: ConfigRef; idgen: IdGenerator) {. ...raises: [KeyError, Exception, ERecoverableError], tags: [RootEffect].}