>>108655905
I only use trailing return types for dependant names in definitions of functions and usually put it on the next line for readability:
template<typename T,<template <typename> concept C>>
requires C<T>
template<typename U>
auto foo<T,C>::f(this auto && self,U && u)
requires C<bar<U>>
-> baz<T>::template barbaz<U>