I realize this is rather general and vague, but, IME trying to unify things as much as possible can be fun, and lead to interesting languages, but also lead to languages that are very hard to implement efficiently, and force you into tough design choices with no clear right answer.
As an apropos example, one way to unify functional & relational(/logic) programming would be to treat functions as a special case of relations. But, while we know how to implement higher order functions, implementing higher-order relations is really, really difficult in general. So my line of work with Datafun, while it could be described as a "functional relational language", definitely isn't taking this approach: even though conceptually functions are a special-case of relations, we keep them separate because it avoids a bunch of hard problems.
On the other hand, there is a project - Bill Wadge's "Higher-order extensional Prolog" - that is trying to tackle full-on higher-order relational programming. I don't know much about it, but it'll be damn cool if it works!
So, I can't tell you whether trying to blur the distinction between data structures & relational algebra is a hot mess or a good idea, but I can tell you that it might be difficult 🙂.