adding guards and typeclassopedia