anchor.diff:  /// the arguments, negative acknowledgment token and a channel to the server and
   /// then synchronize using a `take` operation on the channel for the reply.  See
   /// `withNackJob` for an illustrative toy example.
  -///
  -/// Note that `Alt` is a subtype of `Job`.  You can use an alternative in any
  -/// context that requires a job.
  -type Alt<'x> :> Job<'x>
  +type Alt<'x> =
  +  /// `Alt<'x>` is a subtype of `Job<'x>`.  You can use an alternative in any
  +  /// context that requires a job.
  +  inherit Job<'x>
   #endif
   
   /// Operations on first-class synchronous operations or alternatives.
  
positive.code: /// simply not necessary.  However, when process objects are known to be needed,
  /// it is better to allocate them eagerly by directly starting processes using
  /// `Proc.start` or `Proc.queue`.
  type Proc :> Alt<unit>
  #endif
  
  /// Operations on processes.
  
negative.code: /// is possible because write once variables do not support simple rendezvous
  /// like channels do.  When simple rendezvous is necessary, a channel should be
  /// used instead.
  type IVar<'x> =
    /// `IVar<'x>` is a subtype of `Promise<'x>` and `IVar.read xI` is equivalent
    /// to `xI :> Alt<'x>`.
    inherit Promise<'x>
  
    /// Creates a new write once variable.
    new: unit -> IVar<'x>
  
    /// Creates a new write once variable with the given value.
    new: 'x   -> IVar<'x>
  
    /// Creates a new write once variable with the given failure exception.
    new: exn  -> IVar<'x>
  #endif
  
  /// Operations on write once variables.
  