title: What are the advantages and disadvantages of associated types in protocols vs true generic protocols?
body: <p>Swift for example only supportsassociated types in protocols, but you cannot make a truly generic protocol.
  It there any backgroud theory, which is better and when and why?
  Could you explain which would be better for solving a given problem, is swift were to support both?</p>