pub fn trace_mutations<S, M: Matcher>(
    min_trace_length: usize,
    max_trace_length: usize,
    constraints: TermConstraints,
    fresh_zoo_after: u64,
    signature: &'static Signature
) -> (RepeatMutator<S>, (SkipMutator<S>, (ReplaceReuseMutator<S>, (ReplaceMatchMutator<S>, (RemoveAndLiftMutator<S>, (GenerateMutator<S, M>, (SwapMutator<S>, ())))))))where
    S: HasCorpus + HasMetadata + HasMaxSize + HasRand,