We need users of a value to be freed before the value itself is. Due to copy propagation or use of the pre-allocated error instruction, static_initializers can contain values that will be used in function blocks.