Note that running doesn't immediately stop at the end of the playground body, requiring ^C to end execution. This is for two really useful reasons: Any asynchronous code or callbacks will continue to execute and produce output; swift play monitors for any changes to files in the package and will automatically re-build/re-run if a file is modified. This makes for a super convenient iterative development tool.
1