Derive base typeclasses where needed