rubyの car,cdr もしくは haskellにおける head tail last init

rubyの car,cdr もしくは haskellにおける head tail last initについて

haskellにおける head tail lastはそれぞれ

>> [1, 2, 3, 4, 5].first
=> 1
>> [1, 2, 3, 4, 5].drop(1)
=> [2, 3, 4, 5]
>> [1, 2, 3, 4, 5].last
=> 5

だとおもう。でもなんかinit(最後の要素をのぞく)がmodule Enumerableになさそう。

>> module Enumerable ; def init ; self.take(self.size-1) ; end; end
=> nil
>> [1, 2, 3, 4, 5].init
=> [1, 2, 3, 4]

なんでないのかな。せめて drop_from_last(n)みたいなのでもあればいいのに…(last->behindかな?)