$ CYReturn($M($V(cye), $S("$cyv"))))->*
                 $ cy::Syntax::Throw($V(cye))));
 
                     $ CYReturn($M($V(cye), $S("$cyv"))))->*
                 $ cy::Syntax::Throw($V(cye))));
 
     context.scope_->Declare(context, name_, CYIdentifierArgument);
     if (next_ != NULL)
         next_ = next_->Replace(context, code);
     context.scope_->Declare(context, name_, CYIdentifierArgument);
     if (next_ != NULL)
         next_ = next_->Replace(context, code);
 CYFunctionParameter *CYOptionalFunctionParameter::Replace(CYContext &context, CYBlock &code) {
     CYFunctionParameter *parameter($ CYFunctionParameter(name_, next_));
     parameter = parameter->Replace(context, code);
 CYFunctionParameter *CYOptionalFunctionParameter::Replace(CYContext &context, CYBlock &code) {
     CYFunctionParameter *parameter($ CYFunctionParameter(name_, next_));
     parameter = parameter->Replace(context, code);
 
     CYVariable *name($V(name_));
     code.AddPrev($ CYIf($ CYIdentical($ CYTypeOf(name), $S("undefined")), $$->*
 
     CYVariable *name($V(name_));
     code.AddPrev($ CYIf($ CYIdentical($ CYTypeOf(name), $S("undefined")), $$->*