If you read that compiler error closely, it means Inform doesn’t really understand what it means for one thing to be “plugged into” something else. The source of Inform’s confusion is the ambiguity of the phrases you’re using. It makes sense to you or I that plugging something into something (an action) results in two things being plugged into each other (a state of being). Inform can’t understand that, though, on its own.
What you need to do is add some kind of state you can check (for example, “connected”) that is effected when the action of plugging one thing into something else is taken. This would depend on your story and what you want to accomplish, but for example you could have something like:
[code]The testarea is a room.
A memory is a kind of thing. The plural of memory is memories.
A memory container is a kind of container. It can only hold memories.
A thing can be connected. A thing is usually not connected.
The memory stick is a memory container in the testarea.
Plugging it into is an action applying to two things. Understand “plug [a memory container] into [a device]” as plugging it into.
Carry out plugging a memory container into a device:
now the noun is connected;
now the second noun is connected.
A check plugging it into rule: if the memory stick is not carried then say “You can’t plug your memory stick into something without actually having your memory stick!” instead.
Check plugging something into something:
if the noun is connected:
say “[The noun] is already plugged in.” instead;
if the second noun is connected:
say “Something is already plugged into [the second noun].” instead;
if the second noun is not the computer:
say “You can’t plug [the noun] into [the second noun].” instead;
if the noun is not a memory container:
say “That’s not something you can plug in to anything.” instead.
Unplugging it from is an action applying to two things. Understand “unplug [something] from [something]” as unplugging it from.
Check unplugging something from something:
unless the noun is connected:
say “[The noun] isn’t plugged in to anything.” instead;
otherwise:
unless the second noun is connected:
say “Nothing is plugged in to [the second noun].” instead.
Carry out unplugging something from something:
now the noun is not connected;
now the second noun is not connected.
Report unplugging:
say “You unplug [the noun] from [the second noun].”.
Report plugging: say “[one of]You shove [the noun] into [the second noun][or]You plug in [the noun].[cycling]”.
A computer is a device in the testarea.[/code]
In general you’re only making things harder on yourself by insisting on writing the implementation of the “Plugging it into” action as “Understand ‘plug [a memory container] into [a device]’ as plugging it into.” You’re much better off just saying “'Understand plug [something] into [something] as plugging it into” and then writing a check rule to disallow plugging anything but a memory container into anything, and disallowing plugging anything into something that isn’t a computer.
Hopefully that’s helpful; if not please keep asking and someone will get you on the right track.