Is Str{T} <: AbstractString necessary?
Str{T} <: AbstractString
And probably you could show performance gain from using Str{T} here?
Str{T}