Why would we pass it if it wasn't fast compile? I guess I kinda see this as two methods put into one with a switch on the parameter and some common code. I think the function could be made less monolithic by not reading from the target options but instead only being called if the flag is set.