Updates function call to convert each argument to exactly the type the function expects.  Updates typecast and bitcast to work for both constants and values.