NJのUnsafe.castのあまり意味のない使い道
(fn x => x (Unsafe.cast x)) (fn x => (Unsafe.cast x))