cosmetic changes
cosmetic changes
fix function type annotation
first shot at lazy length
memoize length everywhere