I think it would be useful if you could do this:
library(S7)
foo <- new_class("foo", properties = list(x = new_property(class_numeric, default = 1)))
foo2 <- new_class("foo2", foo, properties = list(x = new_property(class_numeric, default = 2)))
foo2()@x
#> [1] 1
Created on 2025-09-25 with reprex v2.1.1