Test refactoring
Add binary versions of approval to allow normal ones to always format as Strings
Start to flesh out FormatterTest
Reorder methods for client convenience
Refactor to make room for formatting
Formatting for arrays and Iterables