@@ -159,6 +159,13 @@ namespace purescript {
159 return value;
159 return value;
162+ template <typename T,
163+ typename = typename std::enable_if<!std::is_same<T, const boxed&>::value &&
164+ std::is_same<T, int>::value>::type>
165+ constexpr auto unbox(const std::size_t value) -> long long {
162 template <typename T>
169 template <typename T>
163 inline auto peek(boxed& b) -> T& {
170 inline auto peek(boxed& b) -> T& {
164 auto& unboxed = *static_cast<T*>(b.get());
171 auto& unboxed = *static_cast<T*>(b.get());