move some parts of not_clone_not_bench from C to Haskell