http://homepages.inf.ed.ac.uk/libkin/fmt/
