upcasts are safe as well