adapted to Ceylon 1.1.0