Unions with null are a common schema idiom. When a default-value is specified, it is most often null. Default values for unions must be of the type of the first element in the union. So normally, when specifying a union with null, one places the null first so that one can use null as the default value. Folks often make the mistake of specifying null as the default value when it is not the first value in the union. Thus the best practice is to put null as the first element when it is in a union unless you specify a non-null default value.
Several example schemas in the specification do not put the null first in the union schema. The specification should set a better example, to help folks to avoid this potential confusion. It might also mention this issue more explicitly.
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Assignee||Doug Cutting [ cutting ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|