modified:   Visitor.hs