It served as a basis for the Rust implementation.