As some readers know, I'm more likely to hang out with computer scientists than math teachers, though I used to be a high school math teacher. For example, with me tonight was Steve Holden, not a PhD but with lots of letters after his name if he wants to use them all, and PB, of Portland Energy Strategies.
So my question for them was this: I don't get to look at many K-12 textbooks these days, mathematics or any other. Lets limit it to the place / stratum where the concept of "function" is introduced.
Is that still done, formally? And if it is, what textbooks give examples of functions with non-numeric domains?
For example, a function upper() might take 'a' to 'A', 'b' to 'B' and so on. It operates on a non-numeric type, a character, in some "alphabet" with defined lower and uppercase.
Or a function might add "s" to a word: addS("word") -> "words". Do we ever see that in mathematics textbooks?
Because such functions, with a string type input, would be what I'd call "computer science friendly" whereas a textbooks that always / only use numeric types for input and output would be what I'd call "CS-hostile" and/or "CS-unaware".
So now I'm thinking of a list of titles, textbooks for 8th and 9th grade, and I'm asking which of these introduce non-numeric examples when introducing the concept of "function" -- which in my day was contrasted with "relation".
A function might be injective, bijective or surjective but the New Math era texts I was exposed to had different terms for those as I recall, but I don't recall what they were just now, not important to this thread.
So, to pose the question again: of all commercial math textbooks that introduce "function" as a formal concept, what percentage of those include examples of a function that are not operations on numbers?
For example + might mean "concatenation" where strings are concerned: "a" + "b" == "ab" in the domain -> range of strings. In such a world, + is not commutative in that "a" + "b" is not equal to "b" + "a". 
Which textbooks mention that "+" (addition) has meaning relative to the "type" that it works with?
Mark those as CS-friendly.
PS: wish us luck as Portland has its first public teacher strike in its history. That's set to commence on Thursday, barring any breakthroughs.