1. 16

  2. 4

    Nice work! For future exploration, you might consider using a domain-specific language to implement unification. I like µKanren, which is usually implemented as a kind of interleaving logical search monad. (You don’t need to know monads to read and use this paper!) It looks like this repository has a complete Rust implementation of µKanren, as an example.