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