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
Tweak gracelib.js to help typechecker
Complete type combinators and self/outer typing
Fix some methods returning undefined in JS
Avoid JS checkmethodcall errors when too few args
Add `make samples` target
Fix syntax error in JS def check