public boolean setValue(int index, Expression value) {
		if (index < 0 || index > subExpressions.length
				|| subExpressions[index] != empty)
			return false;
		value.setType(argType);
		setType(Type.tSuperType(Type.tArray(value.getType())));
		subExpressions[index] = value;
		value.parent = this;
		value.makeInitializer(argType);
		return true;
	}