=> to operator przypisania dla typów prostych (int, float, char)
@=> to operator przypisania referencji (dla wszystkich obiektów)
W przypadku większości zmiennych nie natrafimy na problemy, ponieważ wirtualna maszyna zbuntuje się przeciwko niewłaśniwemu operatorowi. Niebezpieczeństwa pojawiają się jednak, gdy przyjdzie do obiektów klasy UGen. Dla nich klasyczny chuck operator ma swoje znaczenie. Weźmy taki przykład:
class Buzzer
{
dac @=> UGen output;
SinOsc s => output;
// funkcja przekierowująca Buzzera do nowego wyjścia
fun void changeOutput( UGen out )
{
s =< output;
// UWAGA!! Tu powinno być: out @=> output;
out => output;
s => output;
}
}
// testujemy!
Buzzer b;
HPF filter => dac;
4000 => filter.freq;
// zmieniamy wyjście Buzzera
filter => b.changeOutput;
Prosty błąd w funkcji changeOutput nie zostanie zgłoszony przez wirtualną maszynę ChucKa, ale dźwięk nie zostanie przefiltrowany, jak tego oczekiwaliśmy! Z powodu braku znaku @, nie tylko dźwięk nie zostanie przefiltrowany, nie tylko filtr zostanie ponownie (bez większej potrzeby) skierowany na dac, ale co najgorsze odłączyliśmy Buzzera od jakiegokolwiek wyjścia audio. Jak widać przeciążaony operator chuck bywa czasami zbyt przeciążony.