Library by Andrei Alexandrescu