self-determining result types