register structs/enums as types, not functions
add comment handling