The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

class (Typeable a) => ThunkClass a where
    thunk_iType :: a -> Type
    thunk_iType = const $ mkType "Thunk"
    thunk_force :: a -> Eval Val

instance ThunkClass VThunk where
    thunk_force (MkThunk c) = c