package packing

type pointerSnapshot[ any] struct {
	pointer *
	value   
}

func snapshotPointer[ any]( *) pointerSnapshot[] {
	if  == nil {
		return pointerSnapshot[]{}
	}
	return pointerSnapshot[]{pointer: , value: *}
}

func ( pointerSnapshot[]) () * {
	if .pointer == nil {
		return nil
	}
	*.pointer = .value
	return .pointer
}