struct Buffer {
	var count: Int

	subscript(_ index: Int) -> ??? 
}


protocol BufferProtocol {
	associatedtype Element
}

extension BufferProtocol {
	func action() {
  	...
  }
}

struct Buffer<Element>: BufferProtocol {
	var count: Int

	subscript(_ index: Int) -> Element
}