pub fn typeck(
decls: Vec<Decl<()>>,
checked: Vec<Decl<Type>>,
) -> Result<Vec<Decl<Type>>, TypeError>Expand description
Completely type-checks a series of declarations.
We take a list of declarations to be checked, and a list of already-typed declarations. For a declaration to be treated as polymorphic, it must already have been typechecked, and assigned a polymorphic type.