data Env : Scoped -> Scope -> Typeempty : Env tm emptyextend : (x : Name) -> Binder (tm vars) -> Env tm vars -> Env tm (x :: vars)(++) : Env Term ns -> Env Term vars -> Env Term (ns ++ vars)length : Env tm xs -> NatlengthNoLet : Env tm xs -> NatlengthExplicitPi : Env tm xs -> NatnamesNoLet : Env tm xs -> List NameeraseLinear : Env tm vs -> Env tm vsgetErased : Env tm vs -> List (Var vs)data IsDefined : Name -> Scope -> TypeMkIsDefined : RigCount -> (0 _ : IsVar n idx vars) -> IsDefined n varsdefined : (n : Name) -> Env Term vars -> Maybe (IsDefined n vars)bindEnv : FC -> Env Term vars -> Term vars -> ClosedTermgetBinder : Weaken tm => (0 _ : IsVar x idx vars) -> Env tm vars -> Binder (tm vars)getBinderLoc : (0 _ : IsVar x idx vars) -> Env tm vars -> FCabstractEnvType : FC -> Env Term vars -> Term vars -> ClosedTermabstractEnv : FC -> Env Term vars -> Term vars -> ClosedTermabstractFullEnvType : FC -> Env Term vars -> Term vars -> ClosedTermmkExplicit : Env Term vs -> Env Term vsletToLam : Env Term vars -> Env Term varsfindUsedLocs : Env Term vars -> Term vars -> VarSet varsfindSubEnv : Env Term vars -> Term vars -> (vars' : Scope ** Thin vars' vars)shrinkEnv : Env Term vars -> Thin newvars vars -> Maybe (Env Term newvars)mkEnvOnto : FC -> (xs : List Name) -> Env Term ys -> Env Term (xs ++ ys)mkEnv : FC -> (vs : Scope) -> Env Term vsuniqifyEnv : Env Term vars -> (vars' : List Name ** (Env Term vars', CompatibleVars vars vars'))allVars : Env Term vars -> List (Var vars)allVarsNoLet : Env Term vars -> List (Var vars)close : FC -> String -> Env Term vars -> Term vars -> ClosedTerm