extern concat : [`a](list<`a> * list<`a>) -> list<`a>