First typechecked version with strict text