https://5dok.net/document/lzg7jl8z-functions-whose-differences-belong-to-a-given-class.html