let rec align_of_type ~env t = 
  match t.ct_ty with
    Tvoid -> None
  | Tbuiltin bt -> 
      Some (big_int_of_int (align_of_builtin_type bt))
  | Tarray(et,_) ->
      align_of_type ~env et
  | Tfunction(_) -> None
  | Tpointer(_) -> Some (big_int_of_int sizeof_pointer)
  | Tstruct(id) ->
      let sd = get_struct_desc ~env id in
      sd.str_align