In the explainer:
instanceexpr ::= (instantiate (module ) (import ))
| (instantiate (component ) (import ))
| (instance *)
Could we rename the import nodes to with? Or modulearg/componentarg, or so? (import ...) has a different meaning in a different context. Parsers can disambiguate it, but it's confusing for humans that don't already know their way around.
For example:
instanceexpr ::= (instantiate (module <moduleidx>) (with <name> <modulearg>)*)
| (instantiate (component <componentidx>) (with <name> <componentarg>)*)
| (instance <export>*)