switch(preCount) {
case 0: // Not sure if this is actually possible, but better safe than sorry
if (isRest) {
assigner = hasBlock ? new Pre0Rest1Post0BlockAssigner(rest, block) :
new Pre0Rest1Post0Assigner(rest);
} else if (hasBlock) {
assigner = new Pre0Rest0Post0BlockAssigner(block);
} else {
noargblock = true;
assigner = new Pre0Rest0Post0Assigner();