https://applied-langua.ge/~hayley/swcl-gc.pdf