Index: tests/collections/.expect/string-compare.txt
===================================================================
--- tests/collections/.expect/string-compare.txt	(revision 0a6d20453ce0f1bf1bb35cbe740e036d4d380116)
+++ tests/collections/.expect/string-compare.txt	(revision e7eb1f0cbfeb09f855f039a1193ab5a51b9495b9)
@@ -1,4 +1,4 @@
 ------- string -------
-(cmp(s_, s_) == 0) ok
+(strcmp(s_, s_) == 0) ok
 (s_ == s_) ok
 !(s_ != s_) ok
@@ -7,5 +7,5 @@
 (s_ <= s_) ok
 !(s_ < s_) ok
-(cmp("", s_) == 0) ok
+(strcmp("", s_) == 0) ok
 ("" == s_) ok
 !("" != s_) ok
@@ -14,5 +14,5 @@
 ("" <= s_) ok
 !("" < s_) ok
-(cmp(s_, "") == 0) ok
+(strcmp(s_, "") == 0) ok
 (s_ == "") ok
 !(s_ != "") ok
@@ -21,5 +21,5 @@
 (s_ <= "") ok
 !(s_ < "") ok
-(cmp(s_, s_a) < 0) ok
+(strcmp(s_, s_a) < 0) ok
 !(s_ == s_a) ok
 (s_ != s_a) ok
@@ -28,5 +28,5 @@
 (s_ <= s_a) ok
 (s_ < s_a) ok
-(cmp("", s_a) < 0) ok
+(strcmp("", s_a) < 0) ok
 !("" == s_a) ok
 ("" != s_a) ok
@@ -35,5 +35,5 @@
 ("" <= s_a) ok
 ("" < s_a) ok
-(cmp(s_, "a") < 0) ok
+(strcmp(s_, "a") < 0) ok
 !(s_ == "a") ok
 (s_ != "a") ok
@@ -42,5 +42,5 @@
 (s_ <= "a") ok
 (s_ < "a") ok
-(cmp(s_a, s_) > 0) ok
+(strcmp(s_a, s_) > 0) ok
 !(s_a == s_) ok
 (s_a != s_) ok
@@ -49,5 +49,5 @@
 !(s_a <= s_) ok
 !(s_a < s_) ok
-(cmp("a", s_) > 0) ok
+(strcmp("a", s_) > 0) ok
 !("a" == s_) ok
 ("a" != s_) ok
@@ -56,5 +56,5 @@
 !("a" <= s_) ok
 !("a" < s_) ok
-(cmp(s_a, "") > 0) ok
+(strcmp(s_a, "") > 0) ok
 !(s_a == "") ok
 (s_a != "") ok
@@ -63,5 +63,5 @@
 !(s_a <= "") ok
 !(s_a < "") ok
-(cmp(s_, s_aa) < 0) ok
+(strcmp(s_, s_aa) < 0) ok
 !(s_ == s_aa) ok
 (s_ != s_aa) ok
@@ -70,5 +70,5 @@
 (s_ <= s_aa) ok
 (s_ < s_aa) ok
-(cmp("", s_aa) < 0) ok
+(strcmp("", s_aa) < 0) ok
 !("" == s_aa) ok
 ("" != s_aa) ok
@@ -77,5 +77,5 @@
 ("" <= s_aa) ok
 ("" < s_aa) ok
-(cmp(s_, "aa") < 0) ok
+(strcmp(s_, "aa") < 0) ok
 !(s_ == "aa") ok
 (s_ != "aa") ok
@@ -84,5 +84,5 @@
 (s_ <= "aa") ok
 (s_ < "aa") ok
-(cmp(s_aa, s_) > 0) ok
+(strcmp(s_aa, s_) > 0) ok
 !(s_aa == s_) ok
 (s_aa != s_) ok
@@ -91,5 +91,5 @@
 !(s_aa <= s_) ok
 !(s_aa < s_) ok
-(cmp("aa", s_) > 0) ok
+(strcmp("aa", s_) > 0) ok
 !("aa" == s_) ok
 ("aa" != s_) ok
@@ -98,5 +98,5 @@
 !("aa" <= s_) ok
 !("aa" < s_) ok
-(cmp(s_aa, "") > 0) ok
+(strcmp(s_aa, "") > 0) ok
 !(s_aa == "") ok
 (s_aa != "") ok
@@ -105,5 +105,5 @@
 !(s_aa <= "") ok
 !(s_aa < "") ok
-(cmp(s_a, s_aa) < 0) ok
+(strcmp(s_a, s_aa) < 0) ok
 !(s_a == s_aa) ok
 (s_a != s_aa) ok
@@ -112,5 +112,5 @@
 (s_a <= s_aa) ok
 (s_a < s_aa) ok
-(cmp("a", s_aa) < 0) ok
+(strcmp("a", s_aa) < 0) ok
 !("a" == s_aa) ok
 ("a" != s_aa) ok
@@ -119,5 +119,5 @@
 ("a" <= s_aa) ok
 ("a" < s_aa) ok
-(cmp(s_a, "aa") < 0) ok
+(strcmp(s_a, "aa") < 0) ok
 !(s_a == "aa") ok
 (s_a != "aa") ok
@@ -126,5 +126,5 @@
 (s_a <= "aa") ok
 (s_a < "aa") ok
-(cmp(s_aa, s_a) > 0) ok
+(strcmp(s_aa, s_a) > 0) ok
 !(s_aa == s_a) ok
 (s_aa != s_a) ok
@@ -133,5 +133,5 @@
 !(s_aa <= s_a) ok
 !(s_aa < s_a) ok
-(cmp("aa", s_a) > 0) ok
+(strcmp("aa", s_a) > 0) ok
 !("aa" == s_a) ok
 ("aa" != s_a) ok
@@ -140,5 +140,5 @@
 !("aa" <= s_a) ok
 !("aa" < s_a) ok
-(cmp(s_aa, "a") > 0) ok
+(strcmp(s_aa, "a") > 0) ok
 !(s_aa == "a") ok
 (s_aa != "a") ok
@@ -147,5 +147,5 @@
 !(s_aa <= "a") ok
 !(s_aa < "a") ok
-(cmp(s_a, s_a) == 0) ok
+(strcmp(s_a, s_a) == 0) ok
 (s_a == s_a) ok
 !(s_a != s_a) ok
@@ -154,5 +154,5 @@
 (s_a <= s_a) ok
 !(s_a < s_a) ok
-(cmp("a", s_a) == 0) ok
+(strcmp("a", s_a) == 0) ok
 ("a" == s_a) ok
 !("a" != s_a) ok
@@ -161,5 +161,5 @@
 ("a" <= s_a) ok
 !("a" < s_a) ok
-(cmp(s_a, "a") == 0) ok
+(strcmp(s_a, "a") == 0) ok
 (s_a == "a") ok
 !(s_a != "a") ok
@@ -168,5 +168,5 @@
 (s_a <= "a") ok
 !(s_a < "a") ok
-(cmp(s_aa, s_aa) == 0) ok
+(strcmp(s_aa, s_aa) == 0) ok
 (s_aa == s_aa) ok
 !(s_aa != s_aa) ok
@@ -175,5 +175,5 @@
 (s_aa <= s_aa) ok
 !(s_aa < s_aa) ok
-(cmp("aa", s_aa) == 0) ok
+(strcmp("aa", s_aa) == 0) ok
 ("aa" == s_aa) ok
 !("aa" != s_aa) ok
@@ -182,5 +182,5 @@
 ("aa" <= s_aa) ok
 !("aa" < s_aa) ok
-(cmp(s_aa, "aa") == 0) ok
+(strcmp(s_aa, "aa") == 0) ok
 (s_aa == "aa") ok
 !(s_aa != "aa") ok
@@ -189,5 +189,5 @@
 (s_aa <= "aa") ok
 !(s_aa < "aa") ok
-(cmp(s_a, s_b) < 0) ok
+(strcmp(s_a, s_b) < 0) ok
 !(s_a == s_b) ok
 (s_a != s_b) ok
@@ -196,5 +196,5 @@
 (s_a <= s_b) ok
 (s_a < s_b) ok
-(cmp("a", s_b) < 0) ok
+(strcmp("a", s_b) < 0) ok
 !("a" == s_b) ok
 ("a" != s_b) ok
@@ -203,5 +203,5 @@
 ("a" <= s_b) ok
 ("a" < s_b) ok
-(cmp(s_a, "b") < 0) ok
+(strcmp(s_a, "b") < 0) ok
 !(s_a == "b") ok
 (s_a != "b") ok
@@ -210,5 +210,5 @@
 (s_a <= "b") ok
 (s_a < "b") ok
-(cmp(s_b, s_a) > 0) ok
+(strcmp(s_b, s_a) > 0) ok
 !(s_b == s_a) ok
 (s_b != s_a) ok
@@ -217,5 +217,5 @@
 !(s_b <= s_a) ok
 !(s_b < s_a) ok
-(cmp("b", s_a) > 0) ok
+(strcmp("b", s_a) > 0) ok
 !("b" == s_a) ok
 ("b" != s_a) ok
@@ -224,5 +224,5 @@
 !("b" <= s_a) ok
 !("b" < s_a) ok
-(cmp(s_b, "a") > 0) ok
+(strcmp(s_b, "a") > 0) ok
 !(s_b == "a") ok
 (s_b != "a") ok
@@ -231,5 +231,5 @@
 !(s_b <= "a") ok
 !(s_b < "a") ok
-(cmp(s_a, s_ba) < 0) ok
+(strcmp(s_a, s_ba) < 0) ok
 !(s_a == s_ba) ok
 (s_a != s_ba) ok
@@ -238,5 +238,5 @@
 (s_a <= s_ba) ok
 (s_a < s_ba) ok
-(cmp("a", s_ba) < 0) ok
+(strcmp("a", s_ba) < 0) ok
 !("a" == s_ba) ok
 ("a" != s_ba) ok
@@ -245,5 +245,5 @@
 ("a" <= s_ba) ok
 ("a" < s_ba) ok
-(cmp(s_a, "ba") < 0) ok
+(strcmp(s_a, "ba") < 0) ok
 !(s_a == "ba") ok
 (s_a != "ba") ok
@@ -252,5 +252,5 @@
 (s_a <= "ba") ok
 (s_a < "ba") ok
-(cmp(s_ba, s_a) > 0) ok
+(strcmp(s_ba, s_a) > 0) ok
 !(s_ba == s_a) ok
 (s_ba != s_a) ok
@@ -259,5 +259,5 @@
 !(s_ba <= s_a) ok
 !(s_ba < s_a) ok
-(cmp("ba", s_a) > 0) ok
+(strcmp("ba", s_a) > 0) ok
 !("ba" == s_a) ok
 ("ba" != s_a) ok
@@ -266,5 +266,5 @@
 !("ba" <= s_a) ok
 !("ba" < s_a) ok
-(cmp(s_ba, "a") > 0) ok
+(strcmp(s_ba, "a") > 0) ok
 !(s_ba == "a") ok
 (s_ba != "a") ok
@@ -273,5 +273,5 @@
 !(s_ba <= "a") ok
 !(s_ba < "a") ok
-(cmp(s_aa, s_ab) < 0) ok
+(strcmp(s_aa, s_ab) < 0) ok
 !(s_aa == s_ab) ok
 (s_aa != s_ab) ok
@@ -280,5 +280,5 @@
 (s_aa <= s_ab) ok
 (s_aa < s_ab) ok
-(cmp("aa", s_ab) < 0) ok
+(strcmp("aa", s_ab) < 0) ok
 !("aa" == s_ab) ok
 ("aa" != s_ab) ok
@@ -287,5 +287,5 @@
 ("aa" <= s_ab) ok
 ("aa" < s_ab) ok
-(cmp(s_aa, "ab") < 0) ok
+(strcmp(s_aa, "ab") < 0) ok
 !(s_aa == "ab") ok
 (s_aa != "ab") ok
@@ -294,5 +294,5 @@
 (s_aa <= "ab") ok
 (s_aa < "ab") ok
-(cmp(s_ab, s_aa) > 0) ok
+(strcmp(s_ab, s_aa) > 0) ok
 !(s_ab == s_aa) ok
 (s_ab != s_aa) ok
@@ -301,5 +301,5 @@
 !(s_ab <= s_aa) ok
 !(s_ab < s_aa) ok
-(cmp("ab", s_aa) > 0) ok
+(strcmp("ab", s_aa) > 0) ok
 !("ab" == s_aa) ok
 ("ab" != s_aa) ok
@@ -308,5 +308,5 @@
 !("ab" <= s_aa) ok
 !("ab" < s_aa) ok
-(cmp(s_ab, "aa") > 0) ok
+(strcmp(s_ab, "aa") > 0) ok
 !(s_ab == "aa") ok
 (s_ab != "aa") ok
@@ -315,5 +315,5 @@
 !(s_ab <= "aa") ok
 !(s_ab < "aa") ok
-(cmp(s_ba, s_bb) < 0) ok
+(strcmp(s_ba, s_bb) < 0) ok
 !(s_ba == s_bb) ok
 (s_ba != s_bb) ok
@@ -322,5 +322,5 @@
 (s_ba <= s_bb) ok
 (s_ba < s_bb) ok
-(cmp("ba", s_bb) < 0) ok
+(strcmp("ba", s_bb) < 0) ok
 !("ba" == s_bb) ok
 ("ba" != s_bb) ok
@@ -329,5 +329,5 @@
 ("ba" <= s_bb) ok
 ("ba" < s_bb) ok
-(cmp(s_ba, "bb") < 0) ok
+(strcmp(s_ba, "bb") < 0) ok
 !(s_ba == "bb") ok
 (s_ba != "bb") ok
@@ -336,5 +336,5 @@
 (s_ba <= "bb") ok
 (s_ba < "bb") ok
-(cmp(s_bb, s_ba) > 0) ok
+(strcmp(s_bb, s_ba) > 0) ok
 !(s_bb == s_ba) ok
 (s_bb != s_ba) ok
@@ -343,5 +343,5 @@
 !(s_bb <= s_ba) ok
 !(s_bb < s_ba) ok
-(cmp("bb", s_ba) > 0) ok
+(strcmp("bb", s_ba) > 0) ok
 !("bb" == s_ba) ok
 ("bb" != s_ba) ok
@@ -350,5 +350,5 @@
 !("bb" <= s_ba) ok
 !("bb" < s_ba) ok
-(cmp(s_bb, "ba") > 0) ok
+(strcmp(s_bb, "ba") > 0) ok
 !(s_bb == "ba") ok
 (s_bb != "ba") ok
@@ -357,5 +357,5 @@
 !(s_bb <= "ba") ok
 !(s_bb < "ba") ok
-(cmp(s_aa, s_b) < 0) ok
+(strcmp(s_aa, s_b) < 0) ok
 !(s_aa == s_b) ok
 (s_aa != s_b) ok
@@ -364,5 +364,5 @@
 (s_aa <= s_b) ok
 (s_aa < s_b) ok
-(cmp("aa", s_b) < 0) ok
+(strcmp("aa", s_b) < 0) ok
 !("aa" == s_b) ok
 ("aa" != s_b) ok
@@ -371,5 +371,5 @@
 ("aa" <= s_b) ok
 ("aa" < s_b) ok
-(cmp(s_aa, "b") < 0) ok
+(strcmp(s_aa, "b") < 0) ok
 !(s_aa == "b") ok
 (s_aa != "b") ok
@@ -378,5 +378,5 @@
 (s_aa <= "b") ok
 (s_aa < "b") ok
-(cmp(s_b, s_aa) > 0) ok
+(strcmp(s_b, s_aa) > 0) ok
 !(s_b == s_aa) ok
 (s_b != s_aa) ok
@@ -385,5 +385,5 @@
 !(s_b <= s_aa) ok
 !(s_b < s_aa) ok
-(cmp("b", s_aa) > 0) ok
+(strcmp("b", s_aa) > 0) ok
 !("b" == s_aa) ok
 ("b" != s_aa) ok
@@ -392,5 +392,5 @@
 !("b" <= s_aa) ok
 !("b" < s_aa) ok
-(cmp(s_b, "aa") > 0) ok
+(strcmp(s_b, "aa") > 0) ok
 !(s_b == "aa") ok
 (s_b != "aa") ok
@@ -400,5 +400,5 @@
 !(s_b < "aa") ok
 ------- string_res -------
-(cmp(s_, s_) == 0) ok
+(strcmp(s_, s_) == 0) ok
 (s_ == s_) ok
 !(s_ != s_) ok
@@ -407,5 +407,5 @@
 (s_ <= s_) ok
 !(s_ < s_) ok
-(cmp("", s_) == 0) ok
+(strcmp("", s_) == 0) ok
 ("" == s_) ok
 !("" != s_) ok
@@ -414,5 +414,5 @@
 ("" <= s_) ok
 !("" < s_) ok
-(cmp(s_, "") == 0) ok
+(strcmp(s_, "") == 0) ok
 (s_ == "") ok
 !(s_ != "") ok
@@ -421,5 +421,5 @@
 (s_ <= "") ok
 !(s_ < "") ok
-(cmp(s_, s_a) < 0) ok
+(strcmp(s_, s_a) < 0) ok
 !(s_ == s_a) ok
 (s_ != s_a) ok
@@ -428,5 +428,5 @@
 (s_ <= s_a) ok
 (s_ < s_a) ok
-(cmp("", s_a) < 0) ok
+(strcmp("", s_a) < 0) ok
 !("" == s_a) ok
 ("" != s_a) ok
@@ -435,5 +435,5 @@
 ("" <= s_a) ok
 ("" < s_a) ok
-(cmp(s_, "a") < 0) ok
+(strcmp(s_, "a") < 0) ok
 !(s_ == "a") ok
 (s_ != "a") ok
@@ -442,5 +442,5 @@
 (s_ <= "a") ok
 (s_ < "a") ok
-(cmp(s_a, s_) > 0) ok
+(strcmp(s_a, s_) > 0) ok
 !(s_a == s_) ok
 (s_a != s_) ok
@@ -449,5 +449,5 @@
 !(s_a <= s_) ok
 !(s_a < s_) ok
-(cmp("a", s_) > 0) ok
+(strcmp("a", s_) > 0) ok
 !("a" == s_) ok
 ("a" != s_) ok
@@ -456,5 +456,5 @@
 !("a" <= s_) ok
 !("a" < s_) ok
-(cmp(s_a, "") > 0) ok
+(strcmp(s_a, "") > 0) ok
 !(s_a == "") ok
 (s_a != "") ok
@@ -463,5 +463,5 @@
 !(s_a <= "") ok
 !(s_a < "") ok
-(cmp(s_, s_aa) < 0) ok
+(strcmp(s_, s_aa) < 0) ok
 !(s_ == s_aa) ok
 (s_ != s_aa) ok
@@ -470,5 +470,5 @@
 (s_ <= s_aa) ok
 (s_ < s_aa) ok
-(cmp("", s_aa) < 0) ok
+(strcmp("", s_aa) < 0) ok
 !("" == s_aa) ok
 ("" != s_aa) ok
@@ -477,5 +477,5 @@
 ("" <= s_aa) ok
 ("" < s_aa) ok
-(cmp(s_, "aa") < 0) ok
+(strcmp(s_, "aa") < 0) ok
 !(s_ == "aa") ok
 (s_ != "aa") ok
@@ -484,5 +484,5 @@
 (s_ <= "aa") ok
 (s_ < "aa") ok
-(cmp(s_aa, s_) > 0) ok
+(strcmp(s_aa, s_) > 0) ok
 !(s_aa == s_) ok
 (s_aa != s_) ok
@@ -491,5 +491,5 @@
 !(s_aa <= s_) ok
 !(s_aa < s_) ok
-(cmp("aa", s_) > 0) ok
+(strcmp("aa", s_) > 0) ok
 !("aa" == s_) ok
 ("aa" != s_) ok
@@ -498,5 +498,5 @@
 !("aa" <= s_) ok
 !("aa" < s_) ok
-(cmp(s_aa, "") > 0) ok
+(strcmp(s_aa, "") > 0) ok
 !(s_aa == "") ok
 (s_aa != "") ok
@@ -505,5 +505,5 @@
 !(s_aa <= "") ok
 !(s_aa < "") ok
-(cmp(s_a, s_aa) < 0) ok
+(strcmp(s_a, s_aa) < 0) ok
 !(s_a == s_aa) ok
 (s_a != s_aa) ok
@@ -512,5 +512,5 @@
 (s_a <= s_aa) ok
 (s_a < s_aa) ok
-(cmp("a", s_aa) < 0) ok
+(strcmp("a", s_aa) < 0) ok
 !("a" == s_aa) ok
 ("a" != s_aa) ok
@@ -519,5 +519,5 @@
 ("a" <= s_aa) ok
 ("a" < s_aa) ok
-(cmp(s_a, "aa") < 0) ok
+(strcmp(s_a, "aa") < 0) ok
 !(s_a == "aa") ok
 (s_a != "aa") ok
@@ -526,5 +526,5 @@
 (s_a <= "aa") ok
 (s_a < "aa") ok
-(cmp(s_aa, s_a) > 0) ok
+(strcmp(s_aa, s_a) > 0) ok
 !(s_aa == s_a) ok
 (s_aa != s_a) ok
@@ -533,5 +533,5 @@
 !(s_aa <= s_a) ok
 !(s_aa < s_a) ok
-(cmp("aa", s_a) > 0) ok
+(strcmp("aa", s_a) > 0) ok
 !("aa" == s_a) ok
 ("aa" != s_a) ok
@@ -540,5 +540,5 @@
 !("aa" <= s_a) ok
 !("aa" < s_a) ok
-(cmp(s_aa, "a") > 0) ok
+(strcmp(s_aa, "a") > 0) ok
 !(s_aa == "a") ok
 (s_aa != "a") ok
@@ -547,5 +547,5 @@
 !(s_aa <= "a") ok
 !(s_aa < "a") ok
-(cmp(s_a, s_a) == 0) ok
+(strcmp(s_a, s_a) == 0) ok
 (s_a == s_a) ok
 !(s_a != s_a) ok
@@ -554,5 +554,5 @@
 (s_a <= s_a) ok
 !(s_a < s_a) ok
-(cmp("a", s_a) == 0) ok
+(strcmp("a", s_a) == 0) ok
 ("a" == s_a) ok
 !("a" != s_a) ok
@@ -561,5 +561,5 @@
 ("a" <= s_a) ok
 !("a" < s_a) ok
-(cmp(s_a, "a") == 0) ok
+(strcmp(s_a, "a") == 0) ok
 (s_a == "a") ok
 !(s_a != "a") ok
@@ -568,5 +568,5 @@
 (s_a <= "a") ok
 !(s_a < "a") ok
-(cmp(s_aa, s_aa) == 0) ok
+(strcmp(s_aa, s_aa) == 0) ok
 (s_aa == s_aa) ok
 !(s_aa != s_aa) ok
@@ -575,5 +575,5 @@
 (s_aa <= s_aa) ok
 !(s_aa < s_aa) ok
-(cmp("aa", s_aa) == 0) ok
+(strcmp("aa", s_aa) == 0) ok
 ("aa" == s_aa) ok
 !("aa" != s_aa) ok
@@ -582,5 +582,5 @@
 ("aa" <= s_aa) ok
 !("aa" < s_aa) ok
-(cmp(s_aa, "aa") == 0) ok
+(strcmp(s_aa, "aa") == 0) ok
 (s_aa == "aa") ok
 !(s_aa != "aa") ok
@@ -589,5 +589,5 @@
 (s_aa <= "aa") ok
 !(s_aa < "aa") ok
-(cmp(s_a, s_b) < 0) ok
+(strcmp(s_a, s_b) < 0) ok
 !(s_a == s_b) ok
 (s_a != s_b) ok
@@ -596,5 +596,5 @@
 (s_a <= s_b) ok
 (s_a < s_b) ok
-(cmp("a", s_b) < 0) ok
+(strcmp("a", s_b) < 0) ok
 !("a" == s_b) ok
 ("a" != s_b) ok
@@ -603,5 +603,5 @@
 ("a" <= s_b) ok
 ("a" < s_b) ok
-(cmp(s_a, "b") < 0) ok
+(strcmp(s_a, "b") < 0) ok
 !(s_a == "b") ok
 (s_a != "b") ok
@@ -610,5 +610,5 @@
 (s_a <= "b") ok
 (s_a < "b") ok
-(cmp(s_b, s_a) > 0) ok
+(strcmp(s_b, s_a) > 0) ok
 !(s_b == s_a) ok
 (s_b != s_a) ok
@@ -617,5 +617,5 @@
 !(s_b <= s_a) ok
 !(s_b < s_a) ok
-(cmp("b", s_a) > 0) ok
+(strcmp("b", s_a) > 0) ok
 !("b" == s_a) ok
 ("b" != s_a) ok
@@ -624,5 +624,5 @@
 !("b" <= s_a) ok
 !("b" < s_a) ok
-(cmp(s_b, "a") > 0) ok
+(strcmp(s_b, "a") > 0) ok
 !(s_b == "a") ok
 (s_b != "a") ok
@@ -631,5 +631,5 @@
 !(s_b <= "a") ok
 !(s_b < "a") ok
-(cmp(s_a, s_ba) < 0) ok
+(strcmp(s_a, s_ba) < 0) ok
 !(s_a == s_ba) ok
 (s_a != s_ba) ok
@@ -638,5 +638,5 @@
 (s_a <= s_ba) ok
 (s_a < s_ba) ok
-(cmp("a", s_ba) < 0) ok
+(strcmp("a", s_ba) < 0) ok
 !("a" == s_ba) ok
 ("a" != s_ba) ok
@@ -645,5 +645,5 @@
 ("a" <= s_ba) ok
 ("a" < s_ba) ok
-(cmp(s_a, "ba") < 0) ok
+(strcmp(s_a, "ba") < 0) ok
 !(s_a == "ba") ok
 (s_a != "ba") ok
@@ -652,5 +652,5 @@
 (s_a <= "ba") ok
 (s_a < "ba") ok
-(cmp(s_ba, s_a) > 0) ok
+(strcmp(s_ba, s_a) > 0) ok
 !(s_ba == s_a) ok
 (s_ba != s_a) ok
@@ -659,5 +659,5 @@
 !(s_ba <= s_a) ok
 !(s_ba < s_a) ok
-(cmp("ba", s_a) > 0) ok
+(strcmp("ba", s_a) > 0) ok
 !("ba" == s_a) ok
 ("ba" != s_a) ok
@@ -666,5 +666,5 @@
 !("ba" <= s_a) ok
 !("ba" < s_a) ok
-(cmp(s_ba, "a") > 0) ok
+(strcmp(s_ba, "a") > 0) ok
 !(s_ba == "a") ok
 (s_ba != "a") ok
@@ -673,5 +673,5 @@
 !(s_ba <= "a") ok
 !(s_ba < "a") ok
-(cmp(s_aa, s_ab) < 0) ok
+(strcmp(s_aa, s_ab) < 0) ok
 !(s_aa == s_ab) ok
 (s_aa != s_ab) ok
@@ -680,5 +680,5 @@
 (s_aa <= s_ab) ok
 (s_aa < s_ab) ok
-(cmp("aa", s_ab) < 0) ok
+(strcmp("aa", s_ab) < 0) ok
 !("aa" == s_ab) ok
 ("aa" != s_ab) ok
@@ -687,5 +687,5 @@
 ("aa" <= s_ab) ok
 ("aa" < s_ab) ok
-(cmp(s_aa, "ab") < 0) ok
+(strcmp(s_aa, "ab") < 0) ok
 !(s_aa == "ab") ok
 (s_aa != "ab") ok
@@ -694,5 +694,5 @@
 (s_aa <= "ab") ok
 (s_aa < "ab") ok
-(cmp(s_ab, s_aa) > 0) ok
+(strcmp(s_ab, s_aa) > 0) ok
 !(s_ab == s_aa) ok
 (s_ab != s_aa) ok
@@ -701,5 +701,5 @@
 !(s_ab <= s_aa) ok
 !(s_ab < s_aa) ok
-(cmp("ab", s_aa) > 0) ok
+(strcmp("ab", s_aa) > 0) ok
 !("ab" == s_aa) ok
 ("ab" != s_aa) ok
@@ -708,5 +708,5 @@
 !("ab" <= s_aa) ok
 !("ab" < s_aa) ok
-(cmp(s_ab, "aa") > 0) ok
+(strcmp(s_ab, "aa") > 0) ok
 !(s_ab == "aa") ok
 (s_ab != "aa") ok
@@ -715,5 +715,5 @@
 !(s_ab <= "aa") ok
 !(s_ab < "aa") ok
-(cmp(s_ba, s_bb) < 0) ok
+(strcmp(s_ba, s_bb) < 0) ok
 !(s_ba == s_bb) ok
 (s_ba != s_bb) ok
@@ -722,5 +722,5 @@
 (s_ba <= s_bb) ok
 (s_ba < s_bb) ok
-(cmp("ba", s_bb) < 0) ok
+(strcmp("ba", s_bb) < 0) ok
 !("ba" == s_bb) ok
 ("ba" != s_bb) ok
@@ -729,5 +729,5 @@
 ("ba" <= s_bb) ok
 ("ba" < s_bb) ok
-(cmp(s_ba, "bb") < 0) ok
+(strcmp(s_ba, "bb") < 0) ok
 !(s_ba == "bb") ok
 (s_ba != "bb") ok
@@ -736,5 +736,5 @@
 (s_ba <= "bb") ok
 (s_ba < "bb") ok
-(cmp(s_bb, s_ba) > 0) ok
+(strcmp(s_bb, s_ba) > 0) ok
 !(s_bb == s_ba) ok
 (s_bb != s_ba) ok
@@ -743,5 +743,5 @@
 !(s_bb <= s_ba) ok
 !(s_bb < s_ba) ok
-(cmp("bb", s_ba) > 0) ok
+(strcmp("bb", s_ba) > 0) ok
 !("bb" == s_ba) ok
 ("bb" != s_ba) ok
@@ -750,5 +750,5 @@
 !("bb" <= s_ba) ok
 !("bb" < s_ba) ok
-(cmp(s_bb, "ba") > 0) ok
+(strcmp(s_bb, "ba") > 0) ok
 !(s_bb == "ba") ok
 (s_bb != "ba") ok
@@ -757,5 +757,5 @@
 !(s_bb <= "ba") ok
 !(s_bb < "ba") ok
-(cmp(s_aa, s_b) < 0) ok
+(strcmp(s_aa, s_b) < 0) ok
 !(s_aa == s_b) ok
 (s_aa != s_b) ok
@@ -764,5 +764,5 @@
 (s_aa <= s_b) ok
 (s_aa < s_b) ok
-(cmp("aa", s_b) < 0) ok
+(strcmp("aa", s_b) < 0) ok
 !("aa" == s_b) ok
 ("aa" != s_b) ok
@@ -771,5 +771,5 @@
 ("aa" <= s_b) ok
 ("aa" < s_b) ok
-(cmp(s_aa, "b") < 0) ok
+(strcmp(s_aa, "b") < 0) ok
 !(s_aa == "b") ok
 (s_aa != "b") ok
@@ -778,5 +778,5 @@
 (s_aa <= "b") ok
 (s_aa < "b") ok
-(cmp(s_b, s_aa) > 0) ok
+(strcmp(s_b, s_aa) > 0) ok
 !(s_b == s_aa) ok
 (s_b != s_aa) ok
@@ -785,5 +785,5 @@
 !(s_b <= s_aa) ok
 !(s_b < s_aa) ok
-(cmp("b", s_aa) > 0) ok
+(strcmp("b", s_aa) > 0) ok
 !("b" == s_aa) ok
 ("b" != s_aa) ok
@@ -792,5 +792,5 @@
 !("b" <= s_aa) ok
 !("b" < s_aa) ok
-(cmp(s_b, "aa") > 0) ok
+(strcmp(s_b, "aa") > 0) ok
 !(s_b == "aa") ok
 (s_b != "aa") ok
Index: tests/collections/.expect/string-istream-manip.txt
===================================================================
--- tests/collections/.expect/string-istream-manip.txt	(revision 0a6d20453ce0f1bf1bb35cbe740e036d4d380116)
+++ tests/collections/.expect/string-istream-manip.txt	(revision e7eb1f0cbfeb09f855f039a1193ab5a51b9495b9)
@@ -69,5 +69,5 @@
 13 wwwwwwww
 14 cccc
-15 q
+15 
 1 yyyyyyyyyyyyyyyyyyyy
 2 abcxxx
@@ -84,3 +84,3 @@
 13 wwwwwwww
 14 cccc
-15 q
+15 
Index: tests/collections/string-compare.cfa
===================================================================
--- tests/collections/string-compare.cfa	(revision 0a6d20453ce0f1bf1bb35cbe740e036d4d380116)
+++ tests/collections/string-compare.cfa	(revision e7eb1f0cbfeb09f855f039a1193ab5a51b9495b9)
@@ -3,5 +3,5 @@
 
 #define test_eq_(l, r) \
-    chk( (cmp(l, r) == 0) ) \
+    chk( (strcmp(l, r) == 0) ) \
     chk(  (l == r) ) \
     chk( !(l != r) ) \
@@ -17,5 +17,5 @@
 
 #define test_lt_(l, r) \
-    chk( (cmp(l, r) < 0) ) \
+    chk( (strcmp(l, r) < 0) ) \
     chk( !(l == r) ) \
     chk(  (l != r) ) \
@@ -26,5 +26,5 @@
 
 #define test_gt_(l, r) \
-    chk( (cmp(l, r) > 0) ) \
+    chk( (strcmp(l, r) > 0) ) \
     chk( !(l == r) ) \
     chk(  (l != r) ) \
