public static implicit operator Shape((int, int) s) => new Shape(s.Item1, s.Item2);
private void DrawLine((int, int) s, (int, int) e, Canvas c) => DrawLine(s.Item1, s.Item2, e.Item1, e.Item2, c);
public static implicit operator LongTuple((long, long) s) => new LongTuple(s.Item1, s.Item2);
public static implicit operator Shape((long, long) s) => new Shape(s.Item1, s.Item2);