consistent types