Par, a session-typed language with automatic concurrency, and no panics or deadlocks