SyntacticType type = new SyntacticType.Function(ret,
throwsType, paramTypes, sourceAttr(start, index - 1));
return new Pair<SyntacticType, Expr.Variable>(type,
new Expr.Variable(id.text, sourceAttr(id.start,
id.end())));
} else {
// In this case, we failed to match a mixed type. Therefore, we
// backtrack and parse as two separate items (i.e. type
// identifier).
index = start; // backtrack