result of randori refactoring

Apply rules simpler by adding preconditions to rules.
Trying to use Validation (scalaz).