For example, the instruction sequence (local.get $x) (i32.const 2) i32.add (i32.const 3) i32.mul can be folded into (i32.mul (i32.add (local.get $x) (i32.const 2)) (i32.const 3)) Folded instructions are solely syntactic sugar, no additional syntactic or type-based checking is implied.
https://files.mastodon.social/media_attachments/files/114/622/981/456/614/802/original/5958eb916423a37c.png