make labels work on StructField (and test that label auto-generation and overriding is working)
better indenting, start to refactor ListBlock
refactor for simplified JS API; port ListBlock to the current API