let assignable_sizeof = function 
    | D.Aloc( te , _ ) -> sizeof te
    | D.Arange( te , _ , {D.inf=Some l;D.sup=Some h} ) ->  
        n_size (cardinal l h) te
    | D.Arange _ -> unsupported "infinite range for array"