move tests for each function into their own dirs
encode test IO to STDOUT and STDERR
TODO: canonical_eq and compatibility_eq