take advantage of Function#length