calc_const_size :: [Val] -> Integer
calc_const_size vs = 
  let m = maximum [ i | t@Val { cval = (ExprConstant i) } <- vs ] 
  in
   if m <= 0xff then 8
   else if m <= 0xffff then 16
        else if m <= 0xffffffff then 32
             else 64
calc_const_size :: [Val] -> Integer
calc_const_size vs = 
  let m = maximum [ i | t@Val { cval = (ExprConstant i) } <- vs ] 
  in
   if m <= 0xff then 8
   else if m <= 0xffff then 16
        else if m <= 0xffffffff then 32
             else 64
calc_const_size vs = 
  let m = maximum [ i | t@Val { cval = (ExprConstant i) } <- vs ] 
  in
   if m <= 0xff then 8
   else if m <= 0xffff then 16
        else if m <= 0xffffffff then 32
             else 64