comes from InteractiveUtils, so you need using InteractiveUtils inside the module
btw, this is kinda code smell:
though probably fine for this toy application, but irl you want to either don’t annotate (and throw inside the function dynamically) or use f(::Type{T}) where T to specialize on all types. long story short DataType is a “book keeping” for typing system, we should try not to dispatch with it