+ gc/str/pair/iter draft stuff