let addr_of_assignable = function
    | Xrange(x,ofs,_) -> model_addr x ofs
    | Ablock p -> p
    | Arange(p,ofs,_sz) -> model_addr_shift p ofs