minor contravariance improvements
validation basic implemented - failprojection monadic funcs missing
implemented basic validation monadic operations using extension methods
merge from 'validation' branch