fix review comments

- make materialization type-safe
- remove casting when using EmptyPublisher
- remove some leftovers from CovariantPublisher and friends