Convert a value of any type to a string. We need to handle floating point values separately because the 'to' function can't convert these to a string at compile-time.
Convert a lower camelcase string to snake case. We can't use regex to match at compile-time so we'll iterate through the string and convert it manually.
Convert a hyphen-separated string to a lower camelcase string.
Replace hyphens with underscores so it can be used in mixin as a symbol.
Strip the left margin for a multi-line string and remove newlines
Replace underscores with hyphens to get the actual attribute name