Added ReturnTypeSurd, as well as infrastructure for further ReturnTypes