I made these changes so long ago, I have no idea what I was doing. Clearly I was in the middle of something. I hate myself.
Updated tests to reflect function canonicalization and also ignore one unimportant error.