make sure GeometricEntity args are Basic
make optics/util more robust wrt arg types