Could "data plumbing" be a unifying thread in PL/systems design?
A large part of the value of {type,category} theory, monads & folds &c, is simply in capturing plumbing: the boring, repetitive patterns that get data from point A to point B.
In general I would love more systems-design thinking in PL/type system research. This could link in nicely. Ie. how do we support the challenge of upgrading and migrating of code on existing, large, stateful systems.
Could also help in terms of deploying and iterating on language designs as well, in the presence of existing code. For example you can think of source code as a distributed, hard to upgrade distributed system.