val async : (unit -> 'a) -> tasync f creates a new thread of control which executes f () and returns the corresponding thread handle. The thread terminates whenever f () returns a value or raises an exception.
val await : t -> unitawait t blocks on the termination of t.
val return : unit -> treturn () is a pre-terminated thread handle.