sig
  type 'a or_bottom = [ `Bottom | `Value of 'a ]
  val non_bottom : 'Abstract_interp.Bot.or_bottom -> 'a
  val join_or_bottom :
    ('-> '-> 'a) ->
    'Abstract_interp.Bot.or_bottom ->
    'Abstract_interp.Bot.or_bottom -> 'Abstract_interp.Bot.or_bottom
end