(;-) Mach can follow ANY contour inside or outside with tool comp as long as the radius of the cutter is smaller than the smallest radius it has to follow.
Not this code:
G20 G40 G90
G91.1
S10000 M3
G0 Z0.25
G0 X18.0538 Y9.7864 Z0.25
G1 X18.0538 Y9.7864 Z0.0 F50
G42P0.125
G1 X18.3056 Y9.0 Z-0.1 F1
G1 X18.3056 Y6.9396 Z-0.1
G2 X18.1732 Y5.4917 Z-0.1 I-0.75 J-0.6614
G2 X17.5412 Y4.5622 Z-0.1 I-2.1176 J0.7604
G2 X17.3762 Y4.5 Z-0.1 I-0.1651 J0.1878
G1 X17.3762 Y3.75 Z-0.1
G3 X18.0364 Y3.9990 Z-0.1 I0.0 J1.0
G3 X19.0556 Y6.2520 Z-0.1 I-1.9809 J2.2530
G1 X19.0556 Y11.7480 Z-0.1
G3 X18.0364 Y14.10 Z-0.1 I-3.0 J0.0
G3 X17.3762 Y14.25 Z-0.1 I-0.6603 J-0.7510
G1 X17.3762 Y13.5 Z-0.1
G2 X17.5412 Y13.4378 Z-0.1 I0.0 J-0.25
G2 X18.1732 Y12.5083 Z-0.1 I-1.4856 J-1.6898
G2 X18.3056 Y11.0604 Z-0.1 I-0.6176 J-0.7865
G1 X18.3056 Y8.7147 Z-0.1
G40
G1 X18.0556 Y8.4647 Z0.0
G0 X18.0556 Y8.4647 Z0.25
M5
M30
It works for 99% of what I do, but it does have issues.
But there's nothing that can be done. Fixing bugs adds more, and delays the next version, which actually has comp that works in all situations.