+ (cond
+ ((and (in-arg-p style) copy-in-p)
+ `(with-pointer (,var (%make-tree-path ,path))
+ ,form))
+ ((and (in-arg-p style) (not (out-arg-p style)))
+ `(%with-tree-path (,var ,path)
+ ,form))
+ ((and (in-arg-p style) (out-arg-p style))
+ (let ((tree-path (make-symbol "SYMBOL")))
+ `(%with-tree-path (,tree-path ,path)
+ (with-pointer (,var ,tree-path)
+ ,form))))
+ ((and (out-arg-p style) (not (in-arg-p style)))
+ `(with-pointer (,var)
+ ,form))))
+
+ (define-type-method to-alien-form ((type tree-path) path &optional copy-p)
+ (declare (ignore type copy-p))