...Structural types with support for openness are used both for static typing within a program and for describing service interfaces. Type-safe, declarative processing of JSON, XML, and tabular data with language-integrated queries. Explicit error handling, static types, and concurrency safety, combined with a familiar, readable syntax make programs reliable and maintainable. Easy and efficient concurrency with sequence diagrams and language-managed threads without the complexity of asynchronous functions. Programs have both a textual syntax and an equivalent graphical form based on sequence diagrams.