avoid new function object allocation
override mapCovariant#length