prefix だけだと ArraySlice を返す方が優先されてるけど、 map が後ろにつながることで、 ArraySlice を返す prefix と AnySequence を返す prefix の優先順位が同格化されちゃってるんだと思います。 map につながりうるもの、みたいな。map の後ろに prefix だったら map の時点で戻り値が [String] だから、 b.prefix(3) が解決できるのと同じなので問題なし。AnySequence 版しか作れないから、ってことですか?