anchor.diff:  
   ;;;; Brett Commandeur
   ;;;; 1255891
  -;;;; CMPUT 325 Wi17 - NON-PROCEDURAL PROG LANGUAGES Combined LAB LEC Wi17
  +;;;; CMPUt 325 Wi17 - NON-PROCEDURAL PROG LANGUAGES Combined LAB LEC Wi17
   
   #|--- TODO: Remove this comment
   
  -Acceptable built-in functions: 
  +Acceptable built-in functions:
   
   (atom x)
   (null x)
  
positive.code: 
  ;;; QUESTION 1
  
  (defun xmember (X Y)
  	"
  	Returns T if argument Y is a member of the argument list X and NIL 
  	otherwise. Also tests for lists being members of lists. Both the list X and
  	the argument Y may be NIL or lists containing NIL.
  
  	Solution essentially tests y against each element of x until a match
  	or the end of x is found. It uses 3 base cases for first element of x with 
  	recursion on the remaining elements: (1) a fail case when x is nil and thus
  	can't contain y, (2) a success case when the x element matches y, and (3) 
  	a fail case when x contains no more elements after not matching y.
  	"
  
  	(cond
  		;; base cases
  		((eq X NIL) NIL); list is empty (fail)
  		((equal (car X) Y) T); list contains Y (success) 
  		((eq (cdr X) NIL) NIL); end of list (fail)
  
  		;; recursion to iterate over remaining elements of list
  		(T (xmember (cdr X) Y))
  	)
  )
  
  ;; QUESTION 2
  
  
negative.code: - (cadr ...)
  (cdr x)
  - (cdaar ...)
  (cons x y)
  (if x y z)
  (cond ...)
  (let ((x y) (u v)) z)
  (let* ((x y) (u v)) z)
  (defun ...)
  