Add (sparse) structs to Fact thrift format

> Do you really want to just sequence/traverse here? Not sure what the intention is.

Whoops. Fixed. Although still hoping for a map "zip" function to avoid the `|+|`?