и, разумеется, в gb есть proc и опечаток[русские/английские буквы 'o' 'c'] нет?
такая схема вызова проста и если бы не работала, давно бы все заметили.
сделайте в @right вызов ^gb[], вам должны сказать, что вызывать не будем, поскольку gb не junction, а вовсе даже class gbook, т.е., что переменная gb есть.