The current solution works for most modules, but is not ideal. Especially with highly nested arrays using enum types, it just breaks. #81 is a bandage solution that cannot fix everything.