Handle invalid input
Do some recursive black magic to allow more complex structures
Revert "Do some recursive black magic to allow more complex structures"

This reverts commit 57157dc9159cf06f94b70d21391525e9ee0a51a7.