public static ValPosCrt SubPos(this ValPosCrt self, ValPosCrt target)
 => new ValPosCrt(self.X - target.X, self.Y - target.Y, self.Value);
 public static ValPosCrt AddPos(this ValPosCrt self, ValPosCrt target)
 => new ValPosCrt(self.X + target.X, self.Y + target.Y, self.Value);