you don't need trigger for all occasions. sometimes it doesn't matter in which order the messages are sent, only that they arrive - like in come cases where building a spider web is necessary because of lots of
this is true, but it is a special case where the programmer has to know that the order does not matter. it is a bad design for a programming language, if it tends to create programs that behave "somehow".
how about forbiding more than one connection per outlet? I'm sure it's
quite easy to do, that would make the language perfect, no mistakes
allowed.
I don't know, I think that there are more bad users than bad languages
(I'm not a programmer and this is an exageration). But removing one's
options so that the user makes no "mistakes" seems to me to be in the end
just too restrictive. everyone has the right to make mistakes, and the
documentation is there to show which is the best way.
But it's also not that bad to let people make mistakes. Then they'll learn quite faster.
allowing people to make mistakes is something different than helping (enforcing) people to make mistakes. the former could be considered as some (weird) form of education, while the latter is just offending.
helping (and enforcing) people to do mistakes would be to advise them to
ignore the advantages of the toggle, and tell them not to use it (that I
find also offensive to the guys that programmed this object, and to the
users).
I don't find it weird to make people learn through mistakes, I do it and
with good results so far, I think (a personal choice). If you burn
yourself on fire, you'll for sure never more be near it (no need to burn a
whole arm, though). If someone tells you that fire is bad, you will
believe it and remember the information, but until you experience it
yourself you won't know exactly why.