Yes, we're trying to factor out the implementation-specific code so that only trivial-garbage needs to be updated for new implementations with weak pointers, but we also want Flexichain to mostly work if the implementation does not support weak pointers, falling back to strong pointers in that case.