new heuristic
newer still heuristic
add type signature for lctx