The transfinite  W--type of well--founded  
trees, 
, used to represent
Brouwer  ordinals is inexpressible
in the Nuprl
  logic discussed in the earlier chapters
but can be represented in the logic extended by  rec types as
 rec(w. x:A#(B->w)).
The data type for programs given in chapter 11,
     d:N#ind(d; x,y.void; void; x,T. Atomic_Stmt | (T#T) | 
                                     (expr#T) | expr#T#T),
can be written more elegantly as
rec(T. Atomic_Stmt | (T#T) | (expr#T) | expr#T#T).The list type constructor is now redundant because A list can be expressed as rec(l. NIL | A#l).