Struct support

Add support for placing things in the compute struct.

Also, fill in a lot of the missing documentation around C code internals.

This might be missing tests.