We used to return NULL from these methods but now we return an empty block so this can never actually be null now.
Having these throw is terrible for ergonomics and there are loads of places where the exception was either silently ignored or not handled at all. Having a function which returns an optional and another that returns a default works a lot better imo.
this