Closed andrew-johnson-4 closed 3 weeks ago
typecheck-annotate-size := λ(: tt Type). (: (tail( (if (typecheck-is-sized tt) () ( (if (==( (typecheck-is-sized tt) typecheck-do-not-size )) () (tail( (let sz (typecheck-annotate-size-inner tt)) (let tt2 (maybe-deref(typecheck-annotate-size-recurse tt))) (let tt3 (maybe-deref(tand( tt2 (TGround( 'Sized_s (close (TypeSeq( (close TypeEOF) (TGround( (to-string sz) (close TypeEOF) )) ))) )) )))) (set tt tt3) ))) )) tt )) Type);
This has something to do with the tail condition. The bug doesn't happen in the true branch.
The return position is the problem, dup.