Rename the base identifier.
Base identifiers take strings.
Printable conformance instead of stringValue.
Keyed/indexed identifiers.
Fix a test.
Root identifier.
Parameter & Return are convenience constructors.