func transitive<S,T,R>(s:S.Type = S.self, t:T.Type = T.self ,r:R.Type = R.self) -> (Eq<S,T>) -> (Eq<T,R>) -> Eq<R,S>