Почему printfn F # работает с литеральными строками, но не со значениями типа string?

В следующем коде F #; Я ожидаю, чтоprintfn&nbsp;вызывается три раза; каждый со строкой. Однако нижняя строка не компилируется (The type 'string' is not compatible with the type 'Printf.TextWriterFormat<'a>').

Что в первых двух строках означает, что это может работать? Разве они не просто струны тоже?

open System

printfn ("\r\n") // Works
printfn ("DANNY") // Works
printfn (DateTime.Now.ToLongTimeString()) // Doesn't compile