could fix #662 now that ASTs have a proper equals and hashcode. A function is equal if its AST is