def data_struct(*args, **kw):
m = pimms.merge(*args, **kw)<EOL>return DataStruct(**m)<EOL>
data_struct(args...) collapses all arguments (which must be maps) and keyword arguments
  right-to-left into a single mapping and uses this mapping to create a DataStruct object.