diff --git a/src/variables.jl b/src/variables.jl
index aee2c30f9bd4c2cbb4aa7c0b5e93492e36cd49a6..ba6de614120fc8b9eba914a995f06f74a0751059 100644
--- a/src/variables.jl
+++ b/src/variables.jl
@@ -326,6 +326,8 @@ function (var::Variable)(block::AbstractBlock, args...; kwargs...)
             return NamedTuple(k => var(v, args...; kwargs...) for (k, v) in pairs(apply_to))
         elseif apply_to isa AbstractVector{<:AbstractBlock} || apply_to isa Tuple
             return var.(apply_to, args...; kwargs...)
+        else
+            error("$(var.getter) returned an unexpected type: $(typeof(apply_to)).")
         end
     end
     return var.f(block, args...; kwargs...)