Do not allow non 'new' initialization
Properly extend native types