Abandoned Data.Text solution, switched to Strings with Data.String.Util from MissingH