Is it by design that the schema evolution API for adding top-level fields will always create an optional field as per SchemaUpdate code [1]?
[1] https://github.com/Netflix/iceberg/blob/master/core/src/main/java/com/netflix/iceberg/SchemaUpdate.java#L102 -- Filip Bocse