This solves a long-standing issue where we needed more data about LSL functions than just whether it's side-effect-free. There's still some debug code, which is kept for history purposes.