You need
Base.Broadcast.broadcastable(q::Foo) = Ref(q)
Cf Broadcasting structs as scalars - #6 by cossio