if (type instanceof InterfaceTypeImpl) {
InterfaceTypeImpl interfaceType = (InterfaceTypeImpl) type;
type = interfaceType.substitute(typeArguments);
} else if (type instanceof FunctionTypeImpl) {
FunctionTypeImpl functionType = (FunctionTypeImpl) type;
type = functionType.substitute(typeArguments);
} else {
// TODO(brianwilkerson) Report this internal error.
}
} else {
//