shapefile WIP for comment

I made them variables because the syntactic noise is louder to turn methods into function values to pass to folds.  In the getParser case, memoizing (as requested above) pretty much requires a function value to keep an encapsulated local environment where the mutable memo map can be safely kept.