CodeWriter newW = w.createFunction(decomposed.typeParameters, decomposed.effect, decomposed.returnType, decomposed.parameterTypes);
IVal[] parameters = newW.getParameters();
IVal functionVal = newW.getFunction().getTarget();
for(int i=0;i<parameters.length;++i)
decomposed.parameters[i].setVal(parameters[i]);
CodeWriter newW = w.createFunction(decomposed.typeParameters, decomposed.effect, decomposed.returnType, decomposed.parameterTypes);
IVal[] parameters = newW.getParameters();
IVal functionVal = newW.getFunction().getTarget();
for(int i=0;i<parameters.length;++i)
decomposed.parameters[i].setVal(parameters[i]);