Add Func::infer_arguments()