Before modifying initialization patterns or removing static variables, investigate the semantic meaning of undefined values and object lifetimes in the existing codebase. What appears to be a memory leak or improper initialization may be intentional design.

Key considerations:

Example of proper investigation:

// Before changing this:
static YGConfigRef defaultConfig = YGConfigNew();  // Not a leak - process lifetime

// Or this:
memset(&(node->getLayout()), 0, sizeof(YGLayout));

// Investigate: Does the constructor initialize differently?
node->getLayout() = {};  // May initialize with YGUndefined instead of 0
// If tests break, understand why before forcing zero values

Always verify that your changes preserve the intended semantics, especially when dealing with undefined states, static lifetimes, or special sentinel values.