Use atom undefined to represent missing optional fields