the reasoning was that it's common to add more attributes to the string after parsing the markdown (e.g. default text color), so I thought it might make sense to return a mutable attributed string in the first place.