Shouldn't the default behaviour be to use ply affine tasks instead of non-affine.
Reason being that current scheduler shouldn't be ignored. This allows having top-level control over degree of parallelism in which all child tasks would respect as well.
It's easy to override and use default scheduler even if using affine tasks than the other way around