All your examples is more or less bugs, though.
Why should the user be forced to distinguish between dir and joinnodes, especially as there is no way to actually know which is which without looking at them rather closely in hilfe. It's not in the documentation.