I feel like it's hard to avoid these functions with a jillion arguments in GLSL programming (which can't be called with named arguments):
float noiseWaveLine(
float x,
float y,
float t,
float density,
float wiggle,
float yAdjust,
float lineBlur,
float lineThicknessTop,
float lineThicknessBottom,
float noisePhaseFactor,
float noiseAmpFactor,
float noiseEdgeFactor) {
GLSL does have `struct`s, but the way you construct those is with a positional, unnamed parameter list, just like calling a function with a long parameter list.
Oh, well. I'll live.