let get_zrange_opt = function
    | F.Aloc( te , loc ) -> 
        Some( loc , sizeof te )
    | F.Arange( te , loc , {F.inf=Some a;F.sup=Some b} ) ->
        Some( shift loc te a , n_size (cardinal a b) te )
    | F.Arange( te , loc , {F.inf=None;F.sup=Some b} ) ->
        Some( loc , n_size (cardinal F.i_zero b) te )
    | _ -> None