I think this example could be shortened a bit. The `PropertyValue` and `PersonProperty` types aren't necessary for explaining the partitioning scheme. Just a simple union with examples of the directory names would be sufficient.

If you indent the code blocks (the Thrift types), some documentation tools will style it as code. Please quote the path names. "MyProperties" and "Things."