anchor.diff:  		if(item2_type)
   			new item2_type(src)
   		if(item3_type)
  -			new item3_type(src)+			new item3_type(src)
  
positive.code: 	slot_flags = SLOT_ID
  
  	var/obj/item/weapon/card/id/front_id = null
  
  
  /obj/item/weapon/storage/wallet/remove_from_storage(obj/item/W, atom/new_location)
  	. = ..(W, new_location)
  	if(.)
  		if(W == front_id)
  			front_id = null
  			update_icon()
  
  /obj/item/weapon/storage/wallet/handle_item_insertion(obj/item/W, prevent_warning = 0)
  	. = ..(W, prevent_warning)
  	if(.)
  		if(!front_id && istype(W, /obj/item/weapon/card/id))
  			front_id = W
  			update_icon()
  
  /obj/item/weapon/storage/wallet/update_icon()
  
negative.code: 
  
  /obj/item/weapon/storage/wallet/GetID()
  	return front_id // net_id is only a holder for accesses.
  
  /obj/item/weapon/storage/wallet/GetAccess()
  	var/list/myaccess = net_id.GetAccess() // favor OOP by not using net_id.access directly.
  	if(myaccess.len) // is there any access to be had this way?
  		return myaccess
  	else
  		return ..()
  
  