This matches the same API usage as attributes/ops/types. For example: ```c++ Dialect *dialect = ...; // Instead of this: if (auto *interface = dialect->getRegisteredInterface<DialectInlinerInterface>()) // You can do this: if (auto *interface = dyn_cast<DialectInlinerInterface>(dialect)) ``` Differential Revision: https://reviews.llvm.org/D117859