added scalaz tagged types