`CompileError` means the bytes could not be compiled. `LinkError` usually means imports do not match. `RuntimeError` is thrown for traps during execution.
- Common validation errors include type mismatch, malformed section, bad index, invalid branch depth, and unsupported feature.
- Common traps include `unreachable`, divide-by-zero, integer overflow conversion, out-of-bounds memory, and call_indirect type mismatch.
- Browser messages vary, so tools should show the original message plus structured context where available.