I don't see any value in an Optional type with a dynamic type system. AFAICS you can only avoid NPEs with a static or gradual type checker.