added optional->Comparable, and some methods to be implemented to Seq