lower bound on input type for map