all properties in interfaces which represent data types must be marked as readonly. Otherwise, jsii compilation will fail.
member names that begin with underscore now must be marked as "@internal" in their jsdocs, which will cause them to disappear from type declaration files and jsii APIs.