C3 it's modular
so thats why there are things like generic modules
it's got some parts which help you, eg overloading and methods but it's a different idea, it would be good to explore this idea in more depth, perhaps a blog/docs entry
the optionals in C3 actually have a kind of neat property, which is a bit like functional programming, if part of a calculation returns a fault then the whole calculation will return a fault, unless it's handled