Currently @JavaClass("JavaStorageItem", implements: SomeSuperType.self) doesn't actually give instances of JavaStorageItem methods from SomeSuperType which is very hard to work with.
Developers need to know they have to as(SomeSuperType.self) though that's very counterintuitive.
Instead, when generating an open class interface, we need to make a protocol, put methods on it, and then anyone who implements: needs to conform their type to the SomeSuperTypeOperationsProtocol or something like that.