Remove redundant SList form
Always add generated parameters at the front, this makes both the compiler and the generated code easier to read
Rearrange cases to make code structure more consistent, remove redundant code
Tidy up function names
Fix bug where cl_conv would not be applied recursively when converting lambdas