"expects valid input: relations is a relation"
"expects valid input: references is a list"
"expects valid input: reference elements are length-four lists"
"expects valid input: unique relation names"
"expects valid input: non-empty relation names"
"expects valid input: reference relation names are within relation names"
"expects valid input: reference attribute names are within referrer's attributes and referee's keys"
"expects valid input: references aren't self-references"
"expects valid input: records satisfy database schema"
"handles merge duplicates due to floating-point when checking references"
"expects record reassignments to have all prime attributes, maybe others, order-independent"
"expects records reassignments to have unique attribute names"
"expects records name reassignments to result in an error or a valid database"
"is subsetted to a valid database schema, obeys usual subsetting rules..."
"... except allowing non-matches as NAs"
"can be subsetted while preserving attributes order"
"keeps relevant references when subsetted"
"duplicates references when taking duplicate relation schemas"
"expects a database value for subset re-assignment"
"^value must also be a database object$"
"can have subsets re-assigned, without changing relation names"
"is made unique with references preserved"
"is made unique where tables with permuted rows count as duplicates"
"concatenates without losing an attribute order"
"concatenates without losing attribute orderings, if consistent"
"is composed of its records(), keys(), names(), attrs_order(), and references()"
"is composed of its subrelations() and references()"
"renames relations in its references when they're renamed"
"expects new attribute names to be unique"
"relation a: a, b; 0 records\\n  key 1: a"
"relation b: b, c; 0 records\\n  key 1: b\\n  key 2: c"
"relation a: a, b, c; 0 records\\n  key 1: a"
"relation b: b, c; 0 records\\n  key 1: b, c"
"can be added to a data frame as a column"

database / concatenates without losing attribute orderings, if consistent