set nullptr if the container is empty
specify implicit ctors with comments