[WIP] to address #103

This is a WIP to address #103, which is necessary in order to implement formatters that can produce useful output that could be consumed by another program.

Generally it works, but I'm not sure about array handling with regards to the `FormTypeParser`.  As I'm very unfamiliar with the Form Component, I could use some pointers on what to do better.