Warning: Yul and its optimizer are still experimental. Please use the output with care.