The colors representing types can be represented as data-flow graphs themselves (in case of compound types), since type constructors are nothing but functions themselves.
Of course it is trivial to see type build-up of typed data in the value level (data constructors are indiscernible from normal functions even).
But what about the type level?
Is it planned that at some point it will be possible to blow up a color to its corresponding type level graph (that naturally is everywhere the same no matter where the color was found)?
A “dataless” data-flow graph so to say.
Instead of functions there would be basic N-ary type constructors and possibly more complex type mangling functions.
Since type inference with type variables does run both ways (forwards and backwards) and there are type-classes, constraint solving logic programming isn’t far to be found.
Partially in light of that I’m not sure if mixing type level and value level aka dependent typing (dunno where you want to go with this) is a good idea. I clearly lack deeper understanding here though.
(PS: Here’s a maybe interesting topic related analogy I came up with. Data-constructors seem to me like constructive co-recursion, working up from the initial object (category theory). Whereas pattern matching seems like de-constructive recursion, working down towards the initial object.)