Stable in more complex cases. Capable of giving more detailed warnings. More closely matches real import logic. Closes #156