1. bool

bool

Represents truthiness and a little more.

bool must implement the following keys:

When defined/set, it must be able to accept the following values (case insensitive):

When retrieved internally, it should return the native true, false, and undefined (None, null, whatever) values.

When retrieved as a string, it must return "true", "false", or "undefined".

When retrieved as a number, it must return 1 (for true) or 0 (for false). If it is undefined, it should generate an error.