“No macros” only is partly true nowadays. Swift has macros (https://docs.swift.org/swift-book/documentation/the-swift-pr...), but they’re less powerful than other macro systems; you cannot, for example, read a file in a macro (“They transform one AST into another AST without depending on any external state, and without making changes to any external state”)