Fixed bug with lightuserdata functions.

Fixed a pre-existing bug where lightuserdata was never actually used.

T is always a function pointer, but `is(T == function) == false` if T is a function pointer.
Right. I didn't know why the code was like it was. I figured it was for some reason I didn't understand.
I put the assert there to see if it caught any cases that I wasn't expecting, but it hasn't triggered.
I'll remove the static assert.