Track and verify required semantics

I'll import `sci.Traversable` if that is OK.