if by "same structure" you mean same types, this is not exactly true; perhaps it's worth clarifying.  fields with the same optype are always compatible; if two fields have the same name but different types, we will still try to transform values and make them match.  for instance, if the first dataset has a column which is numeric and the second one has the same column with the same name but optype categorical, we'll try to convert the categorical values to numbers.  however, when the columns don't have the same name, their types must match, or the concatenation will fail.

Perhaps we could just say here that the fields must have compatible fields (when they're not compatible, there's an error saying which fields are not), and leave the detailed description to the website docs.