code: func (a *compiler) compileAssign(pos token.Pos, b *block, lt Type, rs []*expr, errOp, errPosName string) func(Value, *Thread) {
  	ac, ok := a.checkAssign(pos, rs, errOp, errPosName)
  	if !ok {
  		return nil
  	}
  	return ac.compile(b, lt)
  }
docs: // compileAssign compiles an assignment operation without the full
  // generality of an assignCompiler.  See assignCompiler for a
  // description of the arguments.