Normalised versions.
Reference data.
Allow ordering to be specified.
Error on empty input.
Actually do something.