That’s because the format parameter is not actually a string. It’s TextWriterFormat<'T> and the F# compiler converts the string format into that type. But it doesn’t work on string variables, because the compiler can’t convert the string to TextWriterFormat<'T> at runtime.
If you want to print the content of the variable, you shouldn’t even try to use printfn this way, because the variable could contain format specifications.
You can either use the %s format:
printfn "%s" test
Or use the .Net Console.WriteLine():
Console.WriteLine test
Don’t forget to add open System at the top of the file if you want to use the Console class.