Does this actually need a `static_pointer_cast`?