Take care of recursive types and interfaces