proc a*(self: SegmentShape2D): Vector2 {.gcsafe, locks: 0.}
proc `a =`*(self: SegmentShape2D; val: Vector2) {.gcsafe, locks: 0.}
proc b*(self: SegmentShape2D): Vector2 {.gcsafe, locks: 0.}
proc `b =`*(self: SegmentShape2D; val: Vector2) {.gcsafe, locks: 0.}