Module Macro_expander


module Macro_expander: sig .. end


type level =
| Top_level
| Nested

type pat_pos =
| Bind
| Param

type macro_context =
| Ctxt_theorem
| Ctxt_other
type pat_position = level * pat_pos 
module Expander: 
functor (C : Typed_ast.Exp_context) -> sig .. end
val list_to_mac : (macro_context -> 'a -> 'b option) list ->
macro_context -> 'a -> 'b option
val list_to_bool_mac : (pat_position ->
macro_context -> 'a -> 'b option)
list ->
pat_position ->
macro_context -> 'a -> 'b option