to pass strings, structs, or complex data Imports/exports can only pass numbers (i32, i64, f32, f64) Hard to Compose Two modules in different languages can't easily talk to each other Every project invents its own glue code and serialization Memory Safety One module can corrupt another’s memory Modules share linear memory and read/write to each other's memory directly