Create Function without knowing return type

All,

Is it possible to create a function without yet knowing the return type of the function.

E.g. something like
ArrayRef<Type*> args = …

FunctionType *FT = FunctionType::get(args, false);
Function *F = Function::create("",FT,Function::ExternalLinkage);
BasicBlock *BB = BasicBlock::Create(getGlobalContext(), “entry”, F);


some code that creates body of function

F->setReturnType(type);
FT->setReturnType(type);

Thanks,
Billy Moses