protocols
deftype
defrecord
fix a couple of typos
merge with latest