anchor.diff:     (learning-rate :reader learning-rate :initarg :learning-rate :initform 0.1)
      (momentum :reader momentum :initarg :momentum :initform 0.3)
      (wi :accessor wi :initform 0)
  -   (transfer :accessor transfer :initarg :transfer-function :initform :sigmoid)
  -   (transfer-function :accessor transfer-function :initform nil)
  -   (transfer-derivative :accessor transfer-derivative :initform nil)
  +   (transfer-tag :accessor transfer-tag :initarg :transfer-tag :initform :sigmoid)
      (layers :accessor layers)
      (next-id :accessor next-id :initform 0)
      (min-mse :accessor min-mse :type real :initform 1000000.0)
  
positive.code:   (setf (output neuron)
          (if (eq (layer-type (layer neuron)) :input)
              (input neuron)
              (funcall (transfer-function (net neuron)) neuron)))
    (setf (input neuron) (if (biased neuron) 1.0 0.0))
    neuron)
  
  
negative.code:    (biased :reader biased :initarg :biased :initform nil :type boolean)
     (id :accessor id :type integer)
     (input :accessor input :initform 0.0 :type real)
     (transfer-tag :accessor transfer-tag :initarg :transfer-tag :initform :sigmoid)
     (transfer-function :accessor transfer-function :initform nil)
     (transfer-derivative :accessor transfer-derivative :initform nil)
     (output :accessor output :initform 0.0 :type real)
     (err :accessor err :initform 0.0 :type real)
     (x-coor :accessor x-coor :initform 0.0 :type real)
     (y-coor :accessor y-coor :initform 0.0 :type real)
     (cxs :accessor cxs :initform nil :type list))
    (:documentation "Describes a neuron.  NET, required, is an object of type t-net that represents the neural network that this neuron is a part of.  LAYER, required, is an object of type t-layer that represents the neural network layer that this neuron belongs to.  If BIASED is true, the neuron will not have incoming connections.  ID is a distinct integer that identifies the neuron. X-COOR and Y-COOR allow this neuron to be placed in 2-dimentional space.  CXS contains the list of outgoing connections (of type t-cx) to other neurons."))
  
  (defmethod initialize-instance :after ((neuron t-neuron) &key)
    (setf (id neuron) (incf (next-id (net neuron))))
    (setf (transfer-function neuron)
          (transfer-functions (transfer-tag neuron) :function))
    (setf (transfer-derivative neuron)
          (transfer-functions (transfer-tag neuron) :derivative)))
  
  (defclass t-layer ()
    ((neuron-array :accessor neuron-array :type vector)
  