docs
add Nothing type
more docs
more docs
add Type intersection functions