Oh, I see what you mean, no not really. Because when declaring a function like that you are not specifying the type of the resulting object, you are specifying a parameter list and a return type. It does not make sense syntactically to use a type alias there. You'd need something like a "function signature template".