anchor.diff:      nullify(me%value)
   
       end subroutine destroy_node_data
  +!*****************************************************************************************
  +
  +!*****************************************************************************************
  +    subroutine list_finalizer(me)
  +
  +    !! just a wrapper for [[destroy_list]].
  +
  +    implicit none
  +
  +    type(list),intent(inout) :: me
  +
  +    call me%destroy()
  +
  +    end subroutine list_finalizer
   !*****************************************************************************************
   
   !*****************************************************************************************
  
positive.code:         procedure :: remove_by_pointer !! remove node given pointer
          procedure :: get_node          !! get a pointer to a node in the list
          procedure :: keys_equal        !! for testing key string equality
  
      end type list
  
  
negative.code: !*****************************************************************************************
  
  !*****************************************************************************************
      pure function keys_equal(me,k1,k2)
  
      !! Returns true if the two keys are equal.
      !!
  