Currently a record with no fields yields a parse error, but it would be useful to be able to define objects that currently have no fields but may be extended in the future. I guess the parsing issue is that we can't tell whether a subsequent bar :: Bar is a field name and type occurrence, or the prefix and name of a brand new type declaration.