First, naming. The naming of things allows them to be used by programmers. You could replace every unique identifier with a random dictionary word and the API would still work, although nobody would want to use it.
Second, structure(/sequence/organization). The structure could be transformed arbitrarily with the constraint that the operational aspects continue to behave unchanged. The only possible impacts, then, are that one structure is easier to use than another, or performs better than another; those are functional (in the general sense, not in the programming sense) differences, therefore should not be copyrightable.
Not everything that is fixed is copyrightable. It has to have creative spark, and the creative spark cannot be in the service of functionality. (Arguably, if it's in the service of functionality it's not creative at all, even if it naïvely seems like it is, because such "creativity" is indistinguishable from advanced-enough soft-AI optimization methods, with either performance or A/B testing for usability as the metric)