apart and cancel are nc-aware
2699: use xthreaded, not threaded in apart
modifications to simplify

== add quick exit for simplify if expr is Atom

== 3712: try return factored expression more often

== 3730: use as_content_primitive and cancel