Opaque result type syntax is not usable except the declaration of itself. In other places, users need to let them inferred. If they are inferred associated type, they need to reffered by the name of the associated type. rdar://problem/59817674