export const span = (p, xs) => {
  const span_ = (p, xs) =>
    isList(xs) ? tuple(takeWhile(p, xs), dropWhile(p, xs)) : error.listError(xs, span);
  return partial(span_, p, xs);
}