anchor.diff:  ;; export -- return export list 
   (defxtype* groups () (:optional group-node))
   
  -(defxstruct group-node ()
  -  (name name)
  -  (next groups))
  +(defxtype* group-node () 
  +  (:plist :name name :next groups))
   
   (defxtype* exports () (:optional export-node))
   
  
positive.code: 	((null enodes) elist)
        (push (list :dir (export-node-dir enodes)
                    :groups 
                    (do ((groups (export-node-groups enodes) (group-node-next groups))
                         (glist nil))
                        ((null groups) glist)
                      (push (group-node-name groups) glist)))
  	    elist))))
  
  (defhandler %handle-export (void 5)
    (declare (ignore void))
  
negative.code:   (let ((provider (nefarious:find-provider dpath)))
      (cond 
        (provider
         ;; get the mount handle 
         (handler-case 
             (let ((dhandle (nefarious:nfs-provider-mount provider *rpc-remote-host*)))
               ;; push the client onto the provider's client list 
               (pushnew *rpc-remote-host* (nefarious:provider-clients provider) :test #'equalp)         
               (make-xunion :ok
                            (list (nefarious:provider-handle-fh provider dhandle)
                                  '(:auth-null))))
           (error (e)
             (log:debug "error ~A" e)
             (make-xunion :access nil))))
        (t 
         ;; no provider registered on that path
         (make-xunion :inval nil)))))
  