Refactor generator using scalaz.Apply[Arbitrary] instance