prefix :: (HotClass n, HotClass m, m <= n) => Hot n a -> Hot m a
prefix x = runSub $ unfold buildSub $ Sub 0 (elementAt x)
prefix :: (HotClass n, HotClass m, m <= n) => Hot n a -> Hot m a
prefix x = runSub $ unfold buildSub $ Sub 0 (elementAt x)
prefix x = runSub $ unfold buildSub $ Sub 0 (elementAt x)