UINTERFACE type
# Just decorate the ufuncs to be implemented with BlueprintImplementableEventuClass UMyInterface of UInterface: ufuncs(BlueprintImplementableEvent): proc myFunc()
# And then implement ituClass UMyUClass of UObject implements UMyInterface ufuncs: proc myFunc() = log "whatever"
Then you can do
let myInterface: UMyInterface = newUObject[UMyClass]()
Notice: implements
will generate a converter for you. static checking will be added in the future.