Simple type derivations fall into one of three categories:
value restriction - restricting the values of an existing type (e.g. the numbers between 2 and 5)
lists - lists of a specific type (e.g. a list of dates).
unions - lists of a specific type (e.g. a list of dates).
You can restrict built-in simple types or your own types.