Returning complex single output object instead of multiple outputs

Does anyone know of any issues with returning output values in a single complex output result rather than multiple outputs?

The only issue I’ve found is, let’s say you return an AWS application load balancer this way:

output "output" {
  value = {
    my_alb = aws_alb.myalb
    my_next_alb = aws_alb.my_next_alb

if later you reference this and try to access properties of my_alb, in Rider it doesn’t show the id, arn, and other properties of my_alb (intellisense). I have to explicetly add those like

my_alb = {
  self = aws_alb.my_alb
  id =
  arn =

I’m not a big fan of this, but I prefer to return one “set” of values from a module and pass that one variable in to other modules, than returning many sets of values and having to pass those many in to other modules. This lets me return all of my albs and their properties in one output value, rather than…many.