thoughts on type system