model  number of singularities  order of fitting

yield ~ var !r rep
 has no singularities.  rep is absorbed before
var.

yield ~ mu var !r rep
 has 1 singularity;
 rep is absorbed before
mu which is absorbed before
var;
first level of var is aliassed and set to zero.

yield ~ var trt !r rep
 has 1 singularity;
 rep is absorbed before
var which is absorbed before
trt;
first level of trt is aliassed and set to zero.

yield ~ mu var trt var.trt !r rep
 has 8 singularities;
 rep is absorbed first,
then mu,
then var,
then trt
and then var.trt;
first levels of both var
and trt are aliassed and set to zero,
together with subsequent interactions.

yield ~ mu var trt !r rep !f var.trt
 has 8 singularities;
 rep
and var.trt are absorbed first
in some order which maintains high sparsity,
then mu,
then var
and then trt.
Consequently
there are no singularities in
var.trt;
mu,
var
and trt,
are completely singular and set to zero. The order within [ var.trt rep ] is
internally.
