Changes suggested by jnthn to make sure empty {} doesn't generate Nils
Slight cleanup for circumfix {}