add notes on types and typeclasses