export const mapM = (f, m) => {
  const mapM_ = (f, m) => Monad(m) ? dataType(m).traverse(f, m) : error.typeError(m, mapM);
  return partial(mapM_, f, m);
}