No ambiguity; if you put brackets around it you get a tuple (really, an array of fixed elements), and without brackets, the comma is part of the function signature. If you wanted to express your interpretation #1 you'd write:
f :: ((Num) -> [Bool, Num]) -> Bool
Dave