Exploring this using InputForm one discovers that
Circle[]
evaluates to
Circle[{0, 0}]
so, when you do the List->f replacement this becomes
Circle[f[0, 0]]
however, the first argument of Circle must be a coordinate list pair. Hence, the error message. If f[0,0] were to evaluate to a coordinate list pair then presumably the error would not occur.