  //+ curry :: (a, b -> c), a -> (b -> c) ???
  add more tests
  finish type signatures
  add more benchmarks and commit them
  fix readme

  //+ concatMap :: (a -> [a]), [a] -> [a]
  should really be
  //+ concatMap :: (a -> [a]) -> [a] -> [a]
  because it is curried
