It's nitpicking but is the whole SymbolTable needed? Wouldn't it be enough to require `Symbols with Types`?