Add fill(), last(), product(), fix first() again