Thing type class with records