# Functions
initial must not be 0, if you plan to use .Add then use 1 in your constructor and call .Done once the constructor is done.
# Structs
FWaitGroup is a [sync.WaitGroup] like object that invokes some function when the count reach 0.
NoCopy is a type that does nothing, it implements [sync.Locker] to be recognised by the nocopy check of go vet.