View snapshot seems to be busted(ish)
Like, it works, but I don't think it correctly handles the fact that the same function can exist multiple times but with differet parameter lists. I think I copied a lot of the code from the tables code and modified it, and did a pretty half-assed job if I do say so myself. I really need to fix this up before we release any of this.
Pretty much identical to #53 (closed)