the various distanceToOut and distanceToIn which takes different types, and often call these function with different types (because geometry can nest within each other), is what we think the problem is at
and seems to be a fundamental limitation of Julia types at this point