This won't compile successfully.  This is the beginning of trying to rework this to be more haskell-y.