There are no actual functional changes. This just adds many additional annotations and function which ensure type safety and null safety.