Thanks a lot for helping me understand how the UINTERFACE works.
I have had a lot of struggle understanding this. I also have some comments to EPIC about this. In terms of typesafety this is really dirty. It doesn’t only make the code more error prone and hard to read but also leads to a lot of code duplications in form of if clauses spread all over the application performing dynamic casts and checking for null. Even though it’s unlikely to lead to any major performance issues, it still has impacts on code quality.