Add type-checking and structural checker dialects
Add super and outer to type checking dialects
Resolve incorrect outer in inherited object
Make empty lists raise error for first/last
Add typechecking dialects to sample lists