return type resolver