use deduced return types on VC++ 2015
silence integer comparison warnings