An FSON file is a single value, optionally surrounded by comments and whitespace.

Through v0.8.0.0 that value had to be an object. Since v0.9.0.0 it may be any value — an object is still by far the most common choice for a configuration file, but a bare array, string, number, boolean or null is also a valid FSON file.
// header comments may precede the value
{
...members...
}
// and footer comments may follow it
The leading trivia becomes the document's header comments and the trailing trivia its footer comments; both are preserved and written back. Between the value's tokens, comments and whitespace are handled by the skip_comments_and_blanks production.
In the fson library this maps to Document: header comments, one non-null root Value of any type, and footer comments. getRoot() throws if the root is not an object; getRootObject() returns nullptr instead.

