We were discussing on irc how a caller of a api should no if a api is implemented or not, since in efl a function still may be unimplemented even if it isa interface of the interface that defined that function. We came to the conclusion that it would be a good idea to force every function to be implemented.
Compile time
Solve it at compile time, every function has to be mentioned in one implements section in the inheritance tree. Eolian should error when a function is not implemented in a regular class.
If someone wants to use composite to build up logic in a object, then he could specify that in eolian in the implements section with something like implements { Foo.Bar @composite } where Foo.Bar is a class, eo then enforces somehow that the objects are composited at construction time, (dont know exactly how to solve that exactly)
Runtime
@jpeg your turn! :)