diff --git a/src/builtins/cells.c b/src/builtins/cells.c index 0005123e..460fd30c 100644 --- a/src/builtins/cells.c +++ b/src/builtins/cells.c @@ -693,6 +693,16 @@ static NOINLINE B rank2_empty(B f, B w, ur wk, B x, ur xk, u32 chr) { return r; } +SHOULD_INLINE bool unpack_unit(B* r) { + B x = *r; + if (isAtm(x)) return true; + if (RNK(x)!=0) return false; + B x2 = IGet(x,0); + decG(x); + *r = x2; + return true; +} + NOINLINE B for_cells_AS(B f, B w, B x, ur wcr, ur wr, u32 chr) { // F⟜x⎉wcr w; array w, wr>0, 0≤wcr0 && wcr