Pull request fixes.
Base list implements protocol but throws exception if not subclassed.
Rename _Private header file to _Protected