head
/tail
are nicer than first
/rest
because head
/tail
are both four characters, thus code can line up more nicely. size
might win over length
for its similar length, although len
() has its appeal as well. fst
/snd
I think are too abbreviated, but I appreciate their brevity.
Instead of first/rest a syntax like x[0]
, x[1:]
might make sense - these call get(0)
and getFrom(0)
, and then no head/tail methods are needed - however, I think head/tail reads better than brackets.