mark: more diptanu python skillz
mark: pass the cache around instead of having it global
mark: start of haskell version which is currently screwed
mark: first step
mark: step 2
mark: muppetry on the ruby version