public static long get(string self, long index) { try { int i = (int)index; if (i < 0) i = self.Length+i; return self[i]; } catch (System.IndexOutOfRangeException) { throw IndexErr.make(index).val; } }