import "JavaBuiltin" as Java importJava "org.simantics.plant3d.scenegraph.IP3DVisualNode" where data P3DNode @JavaName getName getName' :: P3DNode -> Maybe String @JavaName setName setName' :: P3DNode -> String -> () class P3DNodeClass a where asP3DNode :: a -> P3DNode asP3DNode = Java.unsafeCoerce getName :: a -> Maybe String getName c = getName' (asP3DNode c) setName :: a -> String -> () setName c = setName' (asP3DNode c) instance P3DNodeClass P3DNode where asP3DNode = id