pub(super) trait ResolveExprOrPat: HirLowerGenerated {
type Node;
fn parent(ctx: &mut LoweringCtxt, node: &Self::Node) -> NodeParent;
fn get_vid(ctx: &mut LoweringCtxt, node: &Self::AstType) -> Option<LongVId>;
fn get_inner_iter(
node: &Self::Node
) -> Box<dyn Iterator<Item = Self::AstType>>;
fn generate_infix(
ctx: &mut LoweringCtxt,
parent: NodeParent,
lhs: Idx<Self>,
vid: (VId, DefLoc),
rhs: Idx<Self>
) -> Idx<Self>;
fn generate_app(
ctx: &mut LoweringCtxt,
parent: NodeParent,
lhs: Idx<Self>,
rhs: Idx<Self>
) -> Idx<Self>;
}