Problem 67

Is it possible to implement the two-way function?  Maybe by implementing a
special trait like suggested in comments.
Let Rust derive the Eq trait when possible
Problem 68

TODO: maybe reimplement it with difference lists
Problem 69