I guess this just seems pretty run of the mill (to me) for most statically typed languages. You import package "X" it does some meta-magic... et, voila! You get "dynamic" types because it does some fast compilation on the meta data it has and generates the method signatures, classes, et. al for you.
Honestly, I feel like this should be super cool and I'm just super missing something... but I don't know what right now.
Could you explain the interactive session part more?