code: function tail(foldable) {
      //  Fast path for arrays.
      if (Array.isArray (foldable)) {
        return foldable.length > 0 ? Just (foldable.slice (1)) : Nothing;
      }
      var empty = Z.empty (foldable.constructor);
      return Z.reduce (function(m, x) {
        return Just (maybe (empty) (append (x)) (m));
      }, Nothing, foldable);
    }
docs: # tail :: (Applicative f, Foldable f, Monoid (f a)) => f a -> Maybe (f a) . . Returns Just all but the first of the given structure's elements if the . structure contains at least one element; Nothing otherwise. . . ```javascript . > S.tail ([1, 2, 3]) . Just ([2, 3]) . . > S.tail ([]) . Nothing . . > S.tail (Cons (1) (Cons (2) (Cons (3) (Nil)))) . Just (Cons (2) (Cons (3) (Nil)))  . > S.tail (Nil) . Nothing . ```