type qualified_name = stringtype resolved_name = | Local| Param| Global of qualified_name| NotResolved
type filename = string wrapval default_entity : stringtype property_name = | PN of name| PN_Computed of expr
and var_kind = | Var| Let| Const
and parameter = {p_name : name;p_default : expr option;p_dots : bool;
}and fun_prop = | Generator| Async| Get| Set
and class_ = {c_extends : expr option;c_body : property list;
}and property_prop = | Static| Public| Private| Protected
val str_of_name : ('a * 'b) -> 'aval tok_of_name : ('a * 'b) -> 'bval unwrap : ('a * 'b) -> 'a