URL /questions/24926310/what-does-protocol-can-only-be-used-as-a-generic-constraint-because-it-has not found