There's a fun discussion to be had there, but I need to rephrase the original question:
If it's possible to convert the parameters into ```str_elem``` immediately, then why is this not just a function?
I think we can leave this because it's a duplicate of the discussion at the bottom, "why are these classes here?".