feature/outer kore

**please review**

outer KORE sketch. will probably change as we start using it.
How is an interface without method useful? Knowing that you have a value with type `ProductionItem` won't allow you to do anything with it.

(If this works as an open type family then I guess this is useful in Scala land but if we think that as a Java interface then this looks useless to me)