threads inherit mask state when created

do we need an async library?  not sure!

make cancel-thread throw exception?

fibers versus mutexes?

fibers versus parameters.... should threads have parameterization?

