notes
building the type system